在对本身受随机性影响的预测模型的一系列参数进行网格搜索时(例如具有袋装特征的随机森林),您是否应该为预测模型设置种子,以便为每一轮网格搜索,模型初始化一样吗?看起来很简单,您只想测试参数,并且方差越小越好,但是对此有任何科学共识吗?
在网格搜索中播种
相同的随机种子将导致两个随机算法具有更相似的性能的前提是非常可疑的(也许除了在最小样本上最相似和特殊结构的算法)。
类比
使用蒙特卡洛模拟,假设您正在尝试估计赌场的房屋收入:
- 游戏 A:庄家击中软 17 的二十一点
- 游戏 B:庄家站在软 17 上的二十一点
如果游戏 A 和游戏 B 使用相同的卡片顺序(即以相同的随机种子开始),是否会使比较不那么嘈杂?
不!(没有任何意义。)当游戏 A 导致庄家多拿一张牌时(与游戏 B 相比),游戏不再同步:玩家将被发给不同的手牌,这些牌本来会交给庄家而是去找一个玩家等等......仅仅一张牌的偏移量就会产生巨大的差异,一切都会从那里偏离。
可能存在一些特殊情况算法,其中微小的差异不仅会复合,但我认为这些是不寻常的情况。
这是一个正在进行的研究主题(超参数优化)。遵循您在问题中提出的想法的一种非常流行的技术是随机搜索。
一旦你看到它,这个想法就非常简单,并且在实践中证明它运作良好。考虑您搜索具有有限最大值的空间。取最大值附近的 5% 间隔。如果您随机抽样,您有 5% 的机会在该间隔内着陆。当您采样 n 次时,您至少命中该间隔一次的概率为
现在,您需要确定需要采样多少次。首先,您为该概率设置一个阈值。例如,您希望有 95% 的信心最终会达到一次间隔。然后得出 n 必须至少为 60。
看起来很简单,您只想测试参数,并且方差越小越好
好吧,这不是那么简单。@MatthewGunn 已经解释说,它通常不会像您想象的那样有帮助。
一般来说,如果你遇到方差,有两种完全相反的策略来处理它。
- (正如您所建议的,)通过限制实验条件尽可能减少它,或者
- 衡量和解释它。
只有当限制条件可以应用于您的进一步流程时,策略 1 才会有所帮助。如果他们不能,您需要使用方法 2。
此外,还有几点需要考虑:
如果您修复了种子并且您调整的算法确实降低了方差,那么您的结论仅限于那个种子(策略 1 始终是这种情况)。这对于手头的任务可能会或可能不会接受 - 但您需要仔细考虑这一点。
除了种子对随机性的影响可以忽略不计的算法(参见@MattewGunn 的回答)之外,还有一些算法将种子和训练案例结合在一起会导致方差。在这种情况下,您可能会在网格搜索期间使用相同的训练集和相同的种子成功地抑制方差,但例如,从更大的(训练+优化测试用例)基础构建的用于训练的最终模型将受到额外方差的影响。换句话说,您的网格搜索过拟合。
策略 2 变得特别重要,如果您的网格的某些参数可能会影响此方差:那么您将能够考虑网格中的明显最优是否可能是由于方差。
似乎对此没有科学共识。
我认为@Matthew 的蒙特卡洛类比并不完美。例如,如果你有一个神经网络并且你对学习率和动量进行了网格搜索,那么使用相同的随机种子会导致相同的初始化,这似乎是个好主意,所以我同意你的直觉。
这里的关键点不同。如果来自随机种子的方差与来自不同超参数选择的方差相比显着,则网格搜索可能没有意义。对于不同的种子,它可能会找到不同的最优超点。
如果发生这种情况,您可能需要执行重复的交叉验证,更多信息请参见本站

所以最终的答案是:如果修复种子很重要,那就是出了问题。