BanditPolicy 類別

根據寬限期準則定義早期終止原則,以及評估的頻率和延遲間隔。

使用 Slack 因數、slack_amount和評估間隔,初始化 BanditPolicy。

繼承
azureml.train.hyperdrive.policy.EarlyTerminationPolicy
BanditPolicy

建構函式

BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)

參數

名稱 Description
slack_factor

用來計算最佳實驗執行所允許距離的比率。

預設值: None
slack_amount

最佳執行所允許的絕對距離。

預設值: None
evaluation_interval
int

套用原則的頻率。

預設值: 1
delay_evaluation
int

要延遲第一個原則評估的間隔數。 如果指定,原則會套用大於或等於 delay_evaluation 的每個倍 evaluation_interval 數。

預設值: 0
slack_factor
必要

用來計算最佳實驗執行所允許距離的比率。

slack_amount
必要

最佳執行所允許的絕對距離。

evaluation_interval
必要
int

套用原則的頻率。

delay_evaluation
必要
int

要延遲第一個原則評估的間隔數。 如果指定,原則會套用大於或等於 delay_evaluation 的每個倍 evaluation_interval 數。

備註

Bandit 原則會採用下列組態參數:

  • slack_factor:最佳執行定型回合所允許的寬限時間量。 此因素會將寬限時間指定為比率。

  • slack_amount:最佳執行定型回合所允許的寬限時間量。 此因素會將寬限時間指定為絕對數量。

  • evaluation_interval:選擇性。 套用原則的頻率。 每次定型指令碼記錄主要計量都算是一個間隔。

  • delay_evaluation:選擇性。 延遲原則評估的間隔數目。 使用此參數以避免訓練執行提前終止。 如果指定,原則會套用大於或等於 delay_evaluation 的每個倍 evaluation_interval 數。

任何未落在寬限時間因素或評估計量的寬限時間量內,將會終止執行效能最佳的執行。

請考慮使用 slack_factor = 0.2 和 evaluation_interval = 100 的 Bandit 原則。 假設執行 X 是以 AUC (效能計量執行的最佳執行,) 100 間隔之後為 0.8。 此外,假設針對執行回報的最佳 AUC 為 Y。此原則會將值 (Y + Y * 0.2) 與 0.8 進行比較,如果較小,則會取消執行。 如果 delay_evaluation = 200,則第一次套用原則的間隔為 200。

現在,請考慮使用 slack_amount = 0.2 和 evaluation_interval = 100 的 Bandit 原則。 如果 「執行 3」是目前效能最佳的執行,且 AUC (效能計量) 在 100 個間隔後為 0.8,則任何在 100 個間隔之後的 AUC 都會終止 0.6 (0.8 - 0.2) 。 同樣地, delay_evaluation 也可以用來延遲特定數目序列的第一個終止原則評估。

如需套用早期終止原則的詳細資訊,請參閱 調整模型的超參數

屬性

delay_evaluation

傳回第一個評估延遲的序列數目。

傳回

類型 Description
int

延遲評估。

evaluation_interval

傳回評估間隔值。

傳回

類型 Description
int

評估間隔。

slack_factor

傳回與最佳執行定型回合相關的 Slack 因數。

傳回

類型 Description

寬限因數。

POLICY_NAME

POLICY_NAME = 'Bandit'