比较泛化性能的分布

机器算法验证 交叉验证 模型选择
2022-03-13 00:15:48

假设我对一个分类问题有两种学习方法,AB,并且我通过重复交叉验证或自举来估计它们的泛化性能。从这个过程中,我得到分数的分布 PAPB对于这些重复中的每种方法(例如,每个模型的 ROC AUC 值的分布)。

查看这些分布,可能是μAμB 但那σAσB(即预期的泛化性能A高于B,但这个估计有更多的不确定性)。

我认为这被称为回归中的偏差方差困境

我可以用什么数学方法来比较PAPB并最终就使用哪种模型做出明智的决定?

注意:为简单起见,我指的是两种方法AB在这里,但我对可用于比较约 1000 种学习方法(例如来自网格搜索)的分数分布并最终决定使用哪个模型的方法感兴趣。

1个回答

如果只有两种方法,A 和 B,我将计算模型 A 的误差(根据一些合适的性能指标)低于模型 B 的误差的任意训练/测试分区的概率。如果这个概率大于 0.5,我会选择模型 A,否则选择模型 B(参见 Mann-Whitney U 检验?)但是,我强烈怀疑最终会选择均值较低的模型,除非性能统计的分布非常不-对称。

另一方面,对于网格搜索,情况有点不同,因为您并没有真正比较不同的方法,而是调整同一模型的(超)参数以适应有限的数据样本(在这种情况下,间接通过交叉-验证)。我发现这种调整很容易过度拟合,请参阅我的论文

Gavin C. Cawley, Nicola LC Talbot,“论模型选择中的过度拟合和性能评估中的后续选择偏差”,机器学习研究杂志,11(7 月):2079-2107,2010。(www

我有一篇正在审查的论文表明,最好对内核机器(例如 SVM)使用相对粗糙的网格,以避免过度拟合模型选择标准。另一种方法(我还没有调查过,所以请注意讲师!)是选择具有最高误差的模型,该模型在统计上并不逊于网格搜索中发现的最佳模型(尽管这可能是一种相当悲观的方法,尤其是对于小数据集)。

真正的解决方案可能不是使用网格搜索优化参数,而是使用贝叶斯方法或仅作为集成方法对参数值进行平均。如果不优化,过拟合更难!