在为每个代理模型进行网格搜索之后,您可以并且应该检查以下几件事:
- 优化参数(此处为和C)的变化。
最佳参数稳定吗?如果没有,您很可能会遇到麻烦。γC
- 比较内部和外部交叉验证的报告性能。
如果内部(即调优)交叉验证看起来比外部(最终模型的验证)好得多,那么您也有麻烦:您过度拟合。存在很大的风险,即所调整的参数根本不是最佳的。但是,如果外部交叉验证正确完成(所有测试集确实独立于相应的替代模型),那么至少您对模型的性能仍然保持公正(!)的估计。但是您不能确定它是否是最佳的。
- 最佳发音是什么?对于次优参数,性能会迅速下降吗?最佳性能有多好?
关于通过模型选择进行过度拟合,有很多话要说。但是,请记住,差异和乐观偏见都可能真正损害
- 方差意味着您可能会意外地远离真正的最佳超参数。
- 但是偏见也会造成伤害:如果您过度拟合,则可能会遇到许多模型看起来对内部交叉验证都是完美的情况(但实际上并非如此)。在这种情况下,调整可能会误入歧途,因为它无法识别模型之间的差异。
- 如果偏差取决于超参数,那么您将遇到很大麻烦。
如果您对一个示例感兴趣,并且可以阅读德语,我可以将Diplom论文在线发表。
以我的经验,调整超参数是过度拟合的极其有效的方法。
现在,如果您意识到自己过度拟合,则主要有两种选择:
- 报告说,优化存在过度拟合问题,但您进行了适当的外部验证,从而导致...(外部交叉验证结果)。
- 限制了模型的复杂性。一种方法是修复超参数:
作为将超参数调整为每个训练集的替代方法,您可以预先指定(超)参数(即,预先修复它们)。我对模型所做的工作尽可能多,因为通常情况下您的案例比您少,请参见下文。
但是,必须事先进行诚实的固定:例如,我问一位同事在相似数据集上的优化参数(独立实验),或者进行了一项预实验,包括对参数进行网格搜索。然后,该第一个实验将用于为实际实验和数据分析固定一些实验参数以及模型参数。有关更多说明,请参见下文。
当然,可以对自动优化的模型进行适当的测试(双重或嵌套验证),但是您的样本量可能不允许将数据分割两次。
在这种情况下,恕我直言,最好是报告一个使用专业经验建立的模型的诚实估计,该经验是关于如何选择建模参数的,而不是报告对某种自动优化模型的过度乐观的估计。
关于这种情况的另一种观点是,您必须权衡
- 由于搁置了另外一堆用于参数优化的情况而导致性能变差(较小的训练样本大小=>较差的模型,但参数“最优”)
- 由于专家对参数进行了次优的固定,导致性能较差(但在较大的训练数据上)。
关于类似问题的一些类似想法:https : //stats.stackexchange.com/a/27761/4598
关于参数的确定和Dikran Marsupial的评论
我在使用Dikran Marsupial在他的论文中使用的超参数一词(他的答案中的链接)
我使用光谱数据。这是一种测量,其中数据分析和建模通常包括很多预处理。这可以看作是超参数(例如,基线应使用多项式的阶数?应包括哪些测量通道?)。还有其他一些更接近于您的svm参数的决策,例如,如果在训练“真实”模型之前完成了PCA以进行降维,则要使用多少个主要组件?有时我也使用SVM分类,因此必须决定SVM参数。
现在,恕我直言,修复超参数的最佳方法是,如果您有来自应用程序的原因。例如,我通常会基于物理/化学/生物学原因(即有关标本的知识以及由此得出的光谱行为)决定使用哪种基线。但是,我不知道这样的论点对SVM参数有帮助...
我上面提到的预实验情况如下:
- 我们获取一堆细胞的数据(以区分不同的细胞系)。
分析光谱,反复进行两次交叉验证SVM运行(在计算服务器上花费一两个晚上)。
- γC
- 我还观察到某种过拟合:外部交叉验证不如调整结果好。符合预期。
- 但是,在超参数的调整范围内,性能仍然存在差异,并且在调整网格上的性能看起来相当平稳。好。
我的结论是:虽然我不确定最终的超参数是否最优,但外部交叉验证为我提供了替代模型性能的适当估计。
在实验部分,我们决定对实验设置进行一些更改(不影响数据信噪比,但在仪器自动化方面又向前迈进了一步)
我们改进了实验设置并获得了新光谱。就细胞而言,它们需要新鲜生长。也就是说,新数据集甚至是独立的培养批次。
现在,我面临一个决定:是否应该“跳过”内部交叉验证,而仅使用我根据旧数据确定的超参数?
- 如上所述,我冒着这些预定的超参数不是最佳的风险。
- 但是我也不能确定通过进行内部(调整)交叉验证来获得真正的最佳超参数。
- 但是,对旧数据的调整是稳定的。
- 进行优化时,我将训练较少的样本:由于我的样本太少了,如果我将更多的样本留给第二轮交叉验证,我必须期望得到更差的模型。
因此,在那种情况下,我决定采用固定参数(通过对相似数据的经验了解,并知道将来我们将必须做“作业”,其中包括用大数据重新检查这些决策)。
请注意,重要的是我跳过了内部(调整交叉验证),而不是外部。使用固定的超参数,我可以对可能欠佳的模型的性能进行无偏估计。的确,这个估计值有很大的方差,但是无论我是否进行内部调整,此方差基本上是相同的。
跳过外部交叉验证,我将获得对调整后的模型的乐观偏向估计-根据应用程序和数据可能毫无价值(如果过于乐观),并且乐观偏向显然是不可接受的。