分类器模型选择中的偏差

机器算法验证 模型选择 交叉验证 偏见 超参数
2022-04-04 18:18:14

假设我有一组分类器模型,每个模型都是在重复的 k 折交叉验证中使用特征选择生成的。每个分类器模型都是使用一组不同的正则化参数或超参数生成的。

我知道选择该集合中的“最佳”模型,即产生最佳 k 折交叉验证分类估计的模型可能会产生对广义性能的乐观偏差估计。但是,如果最终性能估计是基于使用上面选择的特征和超参数的单独重复 k 折交叉验证,是否可以避免偏差?

我发现这个程序(10 次折叠,10 次重复)在具有案例 > 特征的数据集上的实践中效果很好(模型在真正看不见的数据上看起来很稳定)但是我想知道是否有任何剩余的偏差被认为是不可接受的?我怀疑此程序在功能 >> 案例的情况下不太可接受

我的问题与交叉验证后使用完整数据集进行训练有关吗?

如果这个问题显得无知或重复其他地方讨论的材料,我们深表歉意。

2个回答

关键问题是“最终交叉验证中的测试示例是否参与了选择模型的任何方面”;如果答案是“是”,那么性能估计很可能有偏差。如果答案是“否”,那么它可能是公正的。

例如嵌套交叉验证很好(因为所有模型选择都仅使用外部交叉验证的“训练”分区中的示例来确定。如果您使用重复交叉验证来设置超参数或选择特征然后使用重复的交叉验证(使用一组不同的随机分区)然后会给出有偏差的性能估计,因为所有数据都影响了对第二次交叉验证评估的模型的选择。

重复交叉验证和嵌套交叉验证是有区别的。后者对于确定超参数和选择特征很有用。

我最近看过几篇关于重复交叉验证的偏差方差影响的论文。Rodriguez 和 Lozano (IEEE T.PAMI 2010) 对人工数据集进行测试(基于单个混合模型的参数化)并得出结论,重复交叉验证是有用的并且可以减少方差,而内部 k 折交叉验证在偏差和方差(建议将 k = 5 或 10 用于比较算法作为合理的权衡)- 他们使用了 10 次重复,但根据我的经验,从 2 或 3 到 20 或 30 的任何值都是合理的。确切的权衡和与“真实”准确性的关系取决于数据集。

Vanwinckelen 和 Blockeel (2012) 探索了 9 个较大的 UCI 数据集,其中 200 和 1000 的子集用于交叉验证,完整的数据集用于近似整个人口。对于 10-CV,通常除了几个“真实”精度之外,所有精度都在 10-CV 确定的置信区间内,但对于 10x10-CV 和 30x10-CV,除了几个之外,所有精度都在置信区间之外。同样对于除了一对夫妇之外的所有人,1000 个样本的估计精度和真实精度之间的差异要好于 200 个样本。这些数据集的大小各不相同(我们可能已经使用了 30% 的数据),因此它们对总体的代表性是一个没有根据的假设,因此这种用法实际上也是人为的。但是这两篇论文的矛盾结果似乎对他们的数据是有效的,然而,我认为事实是,

对于 CxK-CV,将 C 增加四倍的置信区间大小。但是您仍然以不同的方式使用相同的数据,并且这种明显的方差减少最终会变得越来越虚假(因为违反了独立性假设)。对于第一个研究的简单混合模型的人工数据,10x10-CV 似乎保持在有用的范围内,但对于大多数真实数据集,10 次重复似乎已经太多了。

如果我对数据不太严格,我倾向于使用 2x5-CV(不是 Dietterich 推荐的 5x2-CV)。如果我们确实在寻找足够的数据(在非常大的非常困难的信号处理问题中)但不能做 LOO,我们使用 Cx20-CV,C 高达 10,但使用早期停止显着性估计技术来停止当预期没有显着改善时,通常会避免一半的运行,这表明 C 为 5 就足够了。参见:David MW Powers 和 Adham Atyabi,“交叉验证问题:平均和偏差、重复和意义”,春季世界工程技术大会,中国西安,2012 年 5 月,IEEE 美国,V2:93-97

目前缺乏的是查看有多少重复有用的好方法,以及何时增加 CxK-CV 声称要实现的方差减少实际上不再是真实的。5 的重复计数 C 是我之前引用的两篇论文的赞成和反对建议之间的折衷,并且使用原始方差作为置信区间,而重复只是为了改进估计,是 agin 论文的建议。但实际上我们需要一种评估何时出现这种情况的方法,一种早期停止技术,就像我们的论文中那样,避免因低估而误入歧途——尽管我们在对真实数据的研究中没有看到这种迹象,但我们真的无法知道,因为我们使用了我们可用于 CxK-CV 的所有数据。