BanditPolicy クラス
余裕期間の条件に基づいて早期終了ポリシーを定義し、評価の頻度と遅延間隔を定義します。
余裕期間、slack_amount、評価間隔を使用して BanditPolicy を初期化します。
コンストラクター
BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)
パラメーター
名前 | 説明 |
---|---|
slack_factor
|
最もパフォーマンスの高い実験の実行から許容される距離を計算するために使用される比率。 規定値: None
|
slack_amount
|
最もパフォーマンスの高い実行から許容される絶対距離。 規定値: None
|
evaluation_interval
|
ポリシーを適用する頻度。 規定値: 1
|
delay_evaluation
|
最初のポリシー評価を遅延する間隔の数。
指定した場合、ポリシーは、 規定値: 0
|
slack_factor
必須
|
最もパフォーマンスの高い実験の実行から許容される距離を計算するために使用される比率。 |
slack_amount
必須
|
最もパフォーマンスの高い実行から許容される絶対距離。 |
evaluation_interval
必須
|
ポリシーを適用する頻度。 |
delay_evaluation
必須
|
最初のポリシー評価を遅延する間隔の数。
指定した場合、ポリシーは、 |
注釈
Bandit ポリシーは、次の構成パラメーターを受け取ります。
slack_factor
:最もパフォーマンスの高いトレーニング実行に関して許容される余裕期間。 この係数は、余裕期間を比率として指定します。slack_amount
:最もパフォーマンスの高いトレーニング実行に関して許容される余裕期間。 この係数は、余裕期間を絶対量として指定します。evaluation_interval
: 省略可能。 ポリシーを適用する頻度。 トレーニング スクリプトによってログに記録されるたびに、主要メトリックは 1 間隔としてカウントされます。delay_evaluation
: 省略可能。 ポリシー評価を遅延させる間隔の数。 トレーニング実行の早期終了を回避するには、このパラメーターを使用します。 指定した場合、ポリシーは、evaluation_interval
以上のdelay_evaluation
の倍数ごとに適用されます。
最もパフォーマンスの高い実行に関して、評価メトリックの余裕期間係数または余裕期間の範囲内に収まらない実行はすべて終了します。
slack_factor
= 0.2、evaluation_interval
= 100 のバンディット ポリシーについて考えてみましょう。
実行 X は、100 間隔後に 0.8 の AUC (パフォーマンス メトリック) で現在最もパフォーマンスの高い実行であるとします。 さらに、実行に対して報告される最適な AUC が Y であると仮定します。このポリシーは値 (Y + Y * 0.2) を 0.8 と比較し、小さい場合は実行を取り消します。
delay_evaluation
= 200 の場合、ポリシーが最初に適用されるのは間隔 200 です。
次に、 slack_amount
= 0.2、 evaluation_interval
= 100 のバンディット ポリシーについて考えてみましょう。
実行 3 が、100 間隔後に AUC (パフォーマンス メトリック) が 0.8 の現在の最もパフォーマンスの高い実行である場合、100 回の反復の後、AUC が 0.6 (0.8 ~ 0.2) 未満の実行はすべて終了します。
同様に、 delay_evaluation
を使用して、特定の数のシーケンスに対する最初の終了ポリシーの評価を遅らせることもできます。
早期終了ポリシーの適用の詳細については、 モデルのハイパーパラメーターの調整に関するページを参照してください。
属性
delay_evaluation
evaluation_interval
slack_factor
POLICY_NAME
POLICY_NAME = 'Bandit'