optuna.terminator.EMMREvaluator
- class optuna.terminator.EMMREvaluator(deterministic_objective=False, delta=0.1, min_n_trials=2, seed=None)[source]
Expected Minimum Model Regret (EMMR) と呼ばれる後悔量を評価するクラスです。
EMMRは最適化プロセスにおける「期待最小単純後悔」の上界として定義されます。
期待最小単純後悔は、最適化プロセスが真の最適解を発見した場合にのみ ゼロに収束する量です。
期待最小単純後悔と本アルゴリズムの詳細については、以下の論文を参照してください:
また、本評価器の解説記事を以下に掲載しています:
- Parameters:
使用例
import optuna from optuna.terminator import EMMREvaluator from optuna.terminator import MedianErrorEvaluator from optuna.terminator import Terminator sampler = optuna.samplers.TPESampler(seed=0) study = optuna.create_study(sampler=sampler, direction="minimize") emmr_improvement_evaluator = EMMREvaluator() median_error_evaluator = MedianErrorEvaluator(emmr_improvement_evaluator) terminator = Terminator( improvement_evaluator=emmr_improvement_evaluator, error_evaluator=median_error_evaluator, ) for i in range(1000): trial = study.ask() ys = [trial.suggest_float(f"x{i}", -10.0, 10.0) for i in range(5)] value = sum(ys[i] ** 2 for i in range(5)) study.tell(trial, value) if terminator.should_terminate(study): # 最適化プロセスが終了しました。 break
Note
バージョン 4.0.0 で実験的機能として追加されました。インターフェースは予告なく変更される可能性があります。 詳細は https://github.com/optuna/optuna/releases/tag/v4.0.0 を参照してください。
メソッド
evaluate
(trials, study_direction)