Sobes.tech
Senior

Какво е 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 е ефективен и гъвкав метод за байесова оптимизация, базиран на моделиране на разпределенията на параметрите, а не на директното приближаване на функцията за загуба.