BanditPolicy クラス
Slack 条件に基づく早期終了ポリシーと評価の頻度および遅延間隔を定義します。
余裕期間、slack_amount、評価間隔を使用して BanditPolicy を初期化します。
- 継承
-
azureml.train.hyperdrive.policy.EarlyTerminationPolicyBanditPolicy
コンストラクター
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
必須
|
最初のポリシー評価を遅延する間隔の数。
指定した場合、 |
注釈
このバンディット ポリシーでは、次の構成パラメーターを指定できます。
slack_factor
: パフォーマンスが最高のトレーニング実行に関して許可される Slack の量。 この係数は、Slack を比率として指定します。slack_amount
: パフォーマンスが最高のトレーニング実行に関して許可される Slack の量。 この係数は、Slack を絶対量として指定します。evaluation_interval
:任意。 ポリシーを適用する頻度。 トレーニング スクリプトによってログに記録されるたびに、主要メトリックは 1 間隔としてカウントされます。delay_evaluation
:任意。 ポリシー評価を遅延する間隔の数。 トレーニングの実行が早期に終了しないようにするには、このパラメーターを使用します。 指定した場合、delay_evaluation
以上のevaluation_interval
の倍数ごとにポリシーが適用されます。
最高のパフォーマンスの実行に関して、評価メトリックの Slack 係数または Slack 量に分類されない実行は終了します。
slack_factor
= 0.2 と evaluation_interval
= 100 のバンディット ポリシーを検討してください。
100 の間隔の後に AUC (パフォーマンス メトリック) が 0.8 である現在最もパフォーマンスの高い実行が、実行 X だと仮定します。 さらに、実行に対して報告された最高の 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'