Mi az a Tree-structured Parzen Estimator (TPE) az Optunában?
sobes.tech MI
Válasz az MI-től
A Tree-structured Parzen Estimator (TPE) egy bayeszi optimalizációs módszer, amelyet az Optuna könyvtárban használnak hiperparaméterek kiválasztására. A klasszikus Gaussian Process (GP) helyett a TPE a célfüggvény valószínűségi eloszlásait két nem-parametrikus sűrűségmodell segítségével modellezi: egyet a jó (alacsony) veszteségértékekhez, és egyet a többihez.
Az ötlet az, hogy értékeljük annak valószínűségét, hogy adott paraméterek eredménye javulásához vezetnek, és ennek alapján válasszuk ki a következő tesztelendő paramétereket. A TPE két eloszlást épít:
- l(x): a jobb eredményekhez vezető paraméterek sűrűsége (egy bizonyos küszöb alatt).
- g(x): a rosszabb eredményekhez vezető paraméterek sűrűsége.
Ezután kiválasztják azokat a paramétereket, amelyek maximalizálják az l(x)/g(x) arányt, ezáltal növelve az eredmény javításának valószínűségét.
Ez lehetővé teszi a hiperparaméterek térségének hatékony feltérképezését, különösen akkor, ha az magas dimenziós vagy kategóriális paramétereket tartalmaz.
Optuna-ban való használat példája:
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)
Így a TPE hatékony és rugalmas bayeszi optimalizációs módszer, amely a paramétereloszlások modellezésén alapul, nem pedig a veszteségfüggvény közvetlen közelítésén.