Какво е Tree-structured Parzen Estimator (TPE) в Optuna?
sobes.tech AI
Отговор от AI
Tree-структуриран Parzen Estimator (TPE) е метод за байесова оптимизация, използван в библиотеката Optuna за настройка на хиперпараметри. За разлика от класическия Gaussian Process (GP), TPE моделира вероятностните разпределения на целевата функция с помощта на два непараметрични модела на плътността: един за добрите (ниски) стойности на функцията за загуба и друг за останалите.
Идеята е да се оцени вероятността дадени параметри да доведат до подобрение на резултата и въз основа на това да се изберат следващите параметри за проверка. TPE изгражда две разпределения:
- l(x): плътността на параметрите, които водят до по-добри резултати (под определен праг).
- g(x): плътността на параметрите, които водят до по-лоши резултати.
След това се избират параметри, които максимизират отношението l(x)/g(x), което увеличава вероятността за подобряване на резултата.
Това позволява ефективно изследване на пространството на хиперпараметрите, особено когато то е с висока размерност или съдържа категорийни параметри.
Пример за използване в 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 е ефективен и гъвкав метод за байесова оптимизация, базиран на моделиране на разпределенията на параметрите, а не на директното приближаване на функцията за загуба.