Sobes.tech
Senior

Was ist der Tree-structured Parzen Estimator (TPE) in Optuna?

sobes.tech KI

Antwort von AI

Der Tree-structured Parzen Estimator (TPE) ist eine Methode der bayesschen Optimierung, die in der Bibliothek Optuna zur Hyperparameter-Optimierung verwendet wird. Im Gegensatz zum klassischen Gaussian Process (GP) modelliert TPE die Wahrscheinlichkeitsverteilungen der Ziel-Funktion mit Hilfe von zwei nichtparametrischen Dichtemodellen: eines für gute (niedrige) Werte der Verlustfunktion und eines für die anderen.

Die Idee ist, die Wahrscheinlichkeit zu bewerten, dass bestimmte Parameter zu einer Verbesserung des Ergebnisses führen, und basierend darauf die nächsten Parameter auszuwählen. TPE baut zwei Verteilungen:

  • l(x): die Dichte der Parameter, die zu besseren Ergebnissen führen (unter einem bestimmten Schwellenwert).
  • g(x): die Dichte der Parameter, die zu schlechteren Ergebnissen führen.

Anschließend werden die Parameter ausgewählt, die das Verhältnis l(x)/g(x) maximieren, was die Wahrscheinlichkeit einer Ergebnisverbesserung erhöht.

Dies ermöglicht eine effiziente Erkundung des Hyperraum-Parameterraums, insbesondere bei hoher Dimensionalität oder kategorialen Parametern.

Beispiel für die Verwendung 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)

Daher ist TPE eine effiziente und flexible Methode der bayesschen Optimierung, die auf der Modellierung von Parameterverteilungen basiert, anstatt die Verlustfunktion direkt zu approximieren.