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
int

应用策略的频率。

默认值: 1
delay_evaluation
int

延迟第一个策略评估的间隔数。 如果指定,则策略将应用大于或等于evaluation_interval的每个倍delay_evaluation数。

默认值: 0
slack_factor
必需

用于计算与性能最佳的试验运行之间的允许距离的比率。

slack_amount
必需

从性能最佳的运行中允许的绝对距离。

evaluation_interval
必需
int

应用策略的频率。

delay_evaluation
必需
int

延迟第一个策略评估的间隔数。 如果指定,则策略将应用大于或等于evaluation_interval的每个倍delay_evaluation数。

注解

Bandit 策略采用以下配置参数:

  • slack_factor:针对性能最佳的训练运行允许的松散量。 此因子将 slack 指定为比率。

  • slack_amount:针对性能最佳的训练运行允许的松散量。 此因子将 slack 指定为绝对量。

  • evaluation_interval:可选。 应用策略的频率。 每次训练脚本都会将主要指标计数记录为一个间隔。

  • delay_evaluation:可选。 延迟策略评估的间隔数。 使用此参数可避免训练运行过早终止。 如果指定,则策略将应用大于或等于evaluation_interval的每个倍delay_evaluation数。

对于性能最佳的运行,任何不属于可宽延因子或评估指标的松散量运行都将终止。

考虑具有 slack_factor = 0.2 和 evaluation_interval = 100 的 Bandit 策略。 假设运行 X 是当前性能最佳的运行,在 100 个间隔后,AUC(性能指标)为 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

返回第一个计算延迟的序列数。

返回

类型 说明
int

延迟计算。

evaluation_interval

返回计算间隔值。

返回

类型 说明
int

计算间隔。

slack_factor

返回有关性能最佳的训练运行的松散因素。

返回

类型 说明

松散因素。

POLICY_NAME

POLICY_NAME = 'Bandit'