我知道如果在过去的X轮中没有任何改进(或表现下降),提前停止就会发生。也就是说,我们需要在过去的X轮中至少有一轮有少量改进,才能继续进行。
但我在此处读到:https://www.kaggle.com/vincentf/early-stopping-for-xgboost-python 以下代码中的注释:
stops 50 iterations after marginal improvements or drop in performance on your hold out set
- 因此,看起来
边际改进
就像没有改进
,是这样吗? - 如果是这样,
边际改进
的值是多少?我们可以设定它的值吗?
回答:
您所链接的帖子中“边际改进”的含义相当不清楚(并且可以说具有误导性);以下是来自文档的相关信息:
early_stopping_rounds (int) – 激活提前停止。验证指标需要在每early_stopping_rounds轮中至少有一次改进才能继续训练。
这显然不支持“边际改进”的说法。