Čo je Tree-structured Parzen Estimator (TPE) v Optuna?
sobes.tech AI
Odpoveď od AI
Stromovo štruktúrovaný odhadca Parzen (TPE) je metóda bayesovskej optimalizácie používaná v knižnici Optuna na ladenie hyperparametrov. Na rozdiel od klasického Gaussian Process (GP) modeluje TPE pravdepodobnostné rozdelenia cieľovej funkcie pomocou dvoch nestrukturálnych modelov hustoty: jeden pre dobré (nízke) hodnoty funkcie straty a druhý pre ostatné.
Myšlienka je odhadnúť pravdepodobnosť, že dané parametre povedú k zlepšeniu výsledku, a na základe toho vybrať ďalšie parametre na testovanie. TPE vytvára dve rozdelenia:
- l(x): hustota parametrov, ktoré vedú k lepším výsledkom (pod určitým prahom).
- g(x): hustota parametrov, ktoré vedú k horším výsledkom.
Potom sa vyberajú parametre, ktoré maximalizujú pomer l(x)/g(x), čím sa zvyšuje pravdepodobnosť zlepšenia výsledku.
Toto umožňuje efektívne preskúmať priestor hyperparametrov, najmä keď je vysokodimenzionálny alebo obsahuje kategóriálne parametre.
Príklad použitia v 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 je teda efektívna a flexibilná metóda bayesovskej optimalizácie založená na modelovaní rozdelení parametrov, nie na priamej aproximácii funkcie straty.