为什么任何分类器的真实(测试)错误率都是 50%?

机器算法验证 分类 错误
2022-04-09 01:49:11

在 Elements of Statistical Learning 的第 7.10.2 节中,它说任何分类器的真实(测试)错误率为 50%。我很难理解这背后的直觉。如果你有一个二元类(1 或 0)并且你的分类器是一个骰子,如果你掷出 1-5,分类是 1,如果你掷出 6,分类是 0。然后假设你的真实值二进制类是 1。那么我认为错误率会随着时间的推移收敛到 1/6。

正文节选如下。

考虑具有大量预测变量的分类问题,例如在基因组或蛋白质组学应用中可能出现的问题。一个典型的分析策略可能如下: 1. 筛选预测变量:找到一个“好”预测变量的子集,它们与类标签显示出相当强的(单变量)相关性 2. 仅使用这个预测变量子集,构建一个多变量分类器。3. 使用交叉验证来估计未知的调整参数并估计最终模型的预测误差。这是交叉验证的正确应用吗?考虑一个场景,两个相同大小的类中有 N = 50 个样本,并且 p = 5000 个独立于类标签的定量预测变量(标准高斯)。任何分类器的真实(测试)错误率为 50%。我们执行了上面的食谱,在步骤 (1) 中选择与类标签具有最高相关性的 100 个预测变量,然后在步骤 (2) 中仅基于这 100 个预测变量使用 1-最近邻分类器。在此设置下进行了 50 多次模拟,平均 CV 错误率为 3%。这远低于 50% 的真实错误率。

2个回答

这不是关于分类器的一般性陈述。在这种特殊情况下,类频率为一半,并且没有任何预测变量有任何用处,任何分类器的真实错误率都是 50%。想象一下,试图根据面额、发行年份、金属含量等来预测抛硬币的结果——从长远来看,你的错误率不会超过 50%。引用段落的要点是,忽略模型选择步骤的交叉验证给出了对性能的乐观估计。

为了扩展上面的答案,关键是预测变量独立于类标签(没有用),即使用这些预测变量的任何预测都相当于从类标签中随机抽取。