交叉验证是否说明了简约?

机器算法验证 交叉验证 解释模型 简约
2022-03-24 22:20:46

假设我有一组模型都试图解释一些现象。根据一个合理且经过适当交叉验证的性能指标,所有模型的表现都相当不错。模型的预测虽然不完全相同,但相关性相当好。

然而,一些模型比其他模型更复杂(例如,有更多参数和超参数要优化),它们甚至可能使用不同类型和数量的预测器作为输入。此外,用于评估模型的指标不会惩罚模型复杂性(例如,交叉熵,而不是 BIC),

如果有的话,这说明模型的解释力是什么?


我问是因为我最近在几次谈话中遇到了这种情况,似乎有两个相反的论点。

我的直觉本质上是奥卡姆剃刀:证明我们对现象的理解的最好方法是从显式输入特征构建一个简单但有效的模型。例如,一个明确声明“基因 X 突变导致疾病 Y”的模型似乎比使用巨大的神经网络从原始读数中提取相同的信息更能理解基因/疾病。当 NN 的性能不如简单模型时尤其如此。

两位发言者的反驳是,不,最复杂的模型是最有趣的:它能力过度拟合数据,但从它们等效的交叉验证性能来看,它显然没有。因此,我们应该研究复杂模型的结构,因为真正的现象可能是复杂的,而不是简单模型所捕捉到的。

2个回答

首先,我同意@HEITZ:如果我们所拥有的只是相同的交叉验证性能,那么这就是我们所拥有的,它不允许进一步区分。此外,一个模型可能与另一个模型过度拟合一样严重欠拟合......

像往常一样,这是关于手头情况的外部(独立)知识有很大帮助的地方,例如判断正在发生的事情。我正在考虑,比如说,一个有区别的分类器与一个单一的分类器,它们都产生相同的预测,因此产生相同的错误/性能度量。一类分类器更复杂 - 但决定一类分类与判别分类器无论如何都应该基于数据/应用程序的性质。然而,在某些情况下,人们可能会得出结论,需要进行一类分类,但可用数据确实需要一个更具限制性的模型(在 CV 测量的性能方面存在重要差异)。

但是,我想指出的是,即使选择的错误度量本身不会惩罚,也可以通过迭代/重复交叉验证来衡量过度拟合的一些症状(即基于交换一些训练案例的预测的不稳定性)复杂。
因此,我保留不相信复杂模型不是过度拟合的权利,除非提供的结果清楚地表明检查了可能的过度拟合并发现不存在,并且排除了报告幸运交叉验证拆分的可能性(特别是如果复杂的模型具有积极优化的超参数)。

另一方面,重采样验证不能防止基础群体的漂移——这种漂移可能需要更复杂的模型(人脑可以以惊人的方式纠正这种漂移!)或者不太复杂的模型(不会过拟合) ,因此稍微偏离训练空间的数据不会受到完全奇怪的预测的影响)。

其次,我想争辩说,我们通常从数值优化中采用的通常优化方法是针对与我们这里所用的情况截然不同的情况。搜索(=一个)最佳模型可能合适,也可能不合适。在优化基本相同模型的复杂性(例如,岭参数)时,可能会出现真正全局最优的情况。因此,可以描述为选择连续模型族之一的情况。但是,如果比较的模型跨越了各种模型系列,我认为发现多个模型系列可以达到相同的性能一点也不应该太令人惊讶。事实上,如果我发现逻辑回归、LDA 和线性 SVM 表现同样出色,那么结论将是“线性分类有效” 而不是考虑这些模型的稳定性如何根据训练案例而有所不同。而且,如果有足够的训练数据可用,我仍然不明白为什么非线性模型不应该表现得那么好。

从哲学的角度来看,我想说没有什么可以阻止大自然拥有大量的影响因素和它们之间的相互作用。所以简约并不能使模型更真实,它只是

  1. 防止过度拟合。因此,如果模型验证在独立案例上正确完成,我们不需要这种保护措施,因为过度拟合会受到适当的惩罚。然而,在实践中,交叉验证通常不会像我们想的那样实现独立拆分——因此在实践中额外的保护措施是一种非常明智的预防措施

    从理论上讲,理论与实践没有区别。
    在实践中,有。从这个意义上说,我认为奥卡姆剃刀对我们(建模人员)比对模型更重要:众所周知,我们人类在检测过度拟合方面是出了名的差。不过,我是一个乐观主义者,我认为检测过拟合是可以学习的。:-D

  2. 它还允许我们构建预测模型,基于一些输入变量实现合理的预测(可能更容易评估),并且可能更容易研究,例如,输入和模型空间的哪一部分实际上由我们填充数据。此外,此类模型可能更容易通过独立/外部知识关联(或增强)。

在没有对照实验的情况下,如果忽略简约性,就不可能偏爱具有等效拟合的两个模型之一。解释更复杂的模型可能更有趣,但这就是讲故事。从不可知论者的角度来看,两者都产生了相同的现实图景。