对一组数据进行参数扫描然后进行交叉验证会发现正确的超参数吗?

人工智能 机器学习 深度学习 超参数优化 交叉验证 概括
2021-11-02 20:59:02

让我们称我们的数据集拆分为训练/测试/评估。我们处于需要数月数据的情况。因此,我们更愿意尽可能不频繁地使用评估数据集,以避免污染我们的结果。相反,我们进行 10 倍交叉验证 (CV) 来估计模型的泛化程度。

我们正在训练每个需要 24-48 小时的深度学习模型,而在执行 10 倍交叉验证时,参数扫描的过程显然非常缓慢。

有没有人有任何经验或引用来说明对数据的一部分进行参数扫描以及交叉验证(用于估计它的泛化程度)的效果如何?

我怀疑它高度依赖于数据的分布以及超参数的局部最小值和最大值,但我想问一下。

1个回答

根据您拥有的特征数量,您可能希望尝试减少特征以减少过度拟合并加速模型。我假设您也在使用适当的正则化。如果时间是主要问题,PCA 可能是一个提供帮助的选项,中等 PCA正如中篇文章所述,PCA 可用于降低数据的维数,同时保持方差。如果您在不同的集合上运行随机森林并且特征重要性排名完全不同,这是一个大问题,应该减少特征的数量。理想情况下,应该裁剪特征直到它们具有相同(结构/特征重要性)但与这些特征相关的权重略有不同。这是一篇展示特征选择的文章。

以下是一些我认为与您的问题相关的出版物。更符合您在一次扫描后尝试验证的愿望。您可能想查找 LSTM 或 Yolo 在您的模型中的应用,我觉得这些技术将有助于指导您最终决定做什么。

PA Karjalainen, JP Kaipio, AS Koistinen, M. Vauhkonen的子空间正则化方法用于诱发电位的单次试验估计(1999)

关于弹性重量合并中的二次惩罚(2017 年),Ferenc Huszár

使用高斯过程树进行参数空间探索(2014 年),作者:Robert B. Gramacy 加州大学圣克鲁斯分校 Herbert KH Lee 加州大学圣克鲁兹分校 William G. Macready

Nils Reimers,Iryna Gurevych的 Optimal Hyperparameters for Deep LSTM-Networks for Sequence Labeling Tasks (2017)

Alexei Botchkarev使用 Azure 机器学习工作室 (2018) 评估医院病例成本预测模型- 回归性能评估