Sobes.tech
Senior

O que é o Estimador de Parzen Estruturado em Árvore (TPE) no Optuna?

sobes.tech IA

Resposta da IA

O Estimador de Parzen em estrutura de árvore (TPE) é um método de otimização bayesiana utilizado na biblioteca Optuna para a seleção de hiperparâmetros. Ao contrário do processo gaussiano clássico (GP), o TPE modela as distribuições de probabilidade da função objetivo através de dois modelos de densidade não paramétricos: um para valores bons (baixos) da função de perda e outro para os demais.

A ideia é avaliar a probabilidade de que determinados parâmetros levem a uma melhoria no resultado, e com base nisso, selecionar os próximos parâmetros a testar. O TPE constrói duas distribuições:

  • l(x): a densidade dos parâmetros que levam a melhores resultados (abaixo de um certo limiar).
  • g(x): a densidade dos parâmetros que levam a piores resultados.

Depois, escolhem-se os parâmetros que maximizam a relação l(x)/g(x), aumentando assim a probabilidade de melhorar o resultado.

Isso permite explorar de forma eficiente o espaço de hiperparâmetros, especialmente quando este é de alta dimensão ou contém parâmetros categóricos.

Exemplo de uso no Optuna:

import optuna

def objective(trial):
    x = trial.suggest_float('x', -10, 10)
    return (x - 2) ** 2

study = optuna.create_study(sampler=optuna.samplers.TPESampler())
study.optimize(objective, n_trials=100)
print(study.best_params)

Assim, o TPE é um método eficiente e flexível de otimização bayesiana, baseado na modelagem de distribuições de parâmetros, em vez de na aproximação direta da função de perda.