Wat is de Tree-structured Parzen Estimator (TPE) in Optuna?
sobes.tech AI
Antwoord van AI
Tree-structured Parzen Estimator (TPE) is een bayesiaanse optimalisatiemethode die wordt gebruikt in de Optuna-bibliotheek voor het afstemmen van hyperparameters. In tegenstelling tot het klassieke Gaussian Process (GP) modelleert TPE de waarschijnlijkheidsverdelingen van de doel-functie met behulp van twee niet-parametrische dichtheidsmodellen: één voor goede (lage) waarden van de verliesfunctie en een andere voor de rest.
Het idee is om de waarschijnlijkheid te schatten dat bepaalde parameters tot een verbetering van het resultaat leiden, en op basis daarvan de volgende parameters te kiezen om te testen. TPE bouwt twee verdelingen:
- l(x): de dichtheid van parameters die leiden tot betere resultaten (onder een bepaalde drempel).
- g(x): de dichtheid van parameters die leiden tot slechtere resultaten.
Vervolgens worden de parameters geselecteerd die de verhouding l(x)/g(x) maximaliseren, wat de kans op verbetering van het resultaat verhoogt.
Dit maakt het mogelijk om de hyperparameters efficiënt te onderzoeken, vooral wanneer de ruimte hoog-dimensionaal is of categorische parameters bevat.
Voorbeeld van gebruik in 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)
Dus, TPE is een efficiënte en flexibele bayesiaanse optimalisatiemethode gebaseerd op het modelleren van parameterverdelingen, in plaats van het direct benaderen van de verliesfunctie.