Sobes.tech
Senior

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.