网格搜索和高方差

数据挖掘 交叉验证 超参数 搜索
2022-02-20 23:34:10

我目前正在尝试优化我的模型上的一些参数(15000 个样本)。我发现损失函数的差异相对较大,为 2%-10%,这使得很难确定哪个参数是最好的。这似乎是基于随机数生成器如何将数据拆分为训练/测试集。

我试过了 :

  • 简历5倍

  • 拆分 75%

修复随机种子确实有帮助(或使用相同的测试集),但我担心我会根据测试集中的样本得到这样的变化。“最佳参数”如此依赖于数据的特定洗牌似乎令人担忧,我担心它如何转化为现实世界的使用。

人们对这种情况的处理方式是什么?我在想我可以多次重复每个测试并取平均值,但这具有非常大的计算成本并且似乎非常低效。

3个回答

如前所述,重复几次 CV 并对结果进行平均以获得更可靠的估计可能是个好主意

如果您发现许多参数星座在最佳性能模型的一个标准差内(或在该邻域内),则选择一个 CV 性能稍差但决策边界更简单的模型(例如,较浅的决策树)是有意义的,RBF-kernel SVM 中更小的伽马,更强的正则化参数等) - 例如在这里建议的东西

恐怕您必须重复 K 折 CV 几次(每次使用不同的种子)并平均结果。我猜想高方差来自数据集的小规模。

  • 平均可能会有所帮助。您可以使用贝叶斯超参数调整方法优化您的超参数调整时间。

  • 尝试减少特征数量或尝试使用其他标准技术(如 k 倍重复 CV)的随机森林等算法。

  • 尝试创建可能有助于区分类别的新功能