Sobes.tech
Senior

Czym jest Tree-structured Parzen Estimator (TPE) w Optuna?

sobes.tech AI

Odpowiedź od AI

Szacujący Parzen w strukturze drzewa (TPE) to metoda optymalizacji bayesowskiej używana w bibliotece Optuna do doboru hiperparametrów. W przeciwieństwie do klasycznego procesu Gaussa (GP), TPE modeluje rozkłady prawdopodobieństwa funkcji celu za pomocą dwóch modeli gęstości nieparametrycznych: jeden dla dobrych (niskich) wartości funkcji strat, a drugi dla pozostałych.

Pomysł polega na oszacowaniu prawdopodobieństwa, że dane parametry doprowadzą do poprawy wyniku, i na tej podstawie wybieraniu kolejnych parametrów do sprawdzenia. TPE tworzy dwa rozkłady:

  • l(x): gęstość parametrów prowadzących do lepszych wyników (poniżej pewnego progu).
  • g(x): gęstość parametrów prowadzących do gorszych wyników.

Następnie wybierane są parametry, które maksymalizują stosunek l(x)/g(x), co zwiększa prawdopodobieństwo poprawy wyniku.

Umożliwia to efektywne badanie przestrzeni hiperparametrów, szczególnie gdy jest ona wysokowymiarowa lub zawiera parametry kategoryczne.

Przykład użycia w 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)

TPE jest więc skuteczną i elastyczną metodą bayesowskiej optymalizacji, opartą na modelowaniu rozkładów parametrów, a nie na bezpośrednim przybliżaniu funkcji straty.