Sobes.tech
Senior

Č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.