ML:采样不平衡数据集导致选择偏差

机器算法验证 机器学习 采样 不平衡类
2022-04-16 06:17:16

通过抽样,我们使算法认为类的先验概率是相同的。这似乎也会影响预测,因此概率不能再被解释为概率,必须重新校准。

我对为什么先验类分布的相等性会影响预测感到有些困惑。

假设我们有一个二类分类问题,我们对不平衡数据集进行过采样以平衡类分布。我们在上面运行决策树。测试集是不平衡的,但这真的重要吗?测试集的每个样本只是通过决策树的节点,它从不检查样本是属于多数类还是少数类。

那么,为什么类的先验概率会影响样本的预测呢?

1个回答

通过抽样,我们使算法认为类的先验概率是相同的。这似乎也会影响预测,因此概率不能再被解释为概率,必须重新校准。

您似乎大多是正确的,这种现象称为先验概率偏移。情况就是这样Ptrain(x|y)=Ptest(x|y)Ptrain(y)Ptest(y). 我不确定您所说的“概率不保持不变并且必须重新校准”是什么意思。

假设我们有一个两类分类问题,我们对不平衡的数据集进行过采样以获得相同的类分布。我们在上面运行决策树。测试集不平衡,但这真的很重要吗?

是的,这很重要,这就是问题的原因。

测试集的每个样本只是通过决策树的节点,它从不检查样本是属于多数类还是少数类。

正确的。问题不在于决策树如何预测给定的样本点。问题在于它的训练方式以及每个类的特征空间的表征。

过采样少数类是处理不平衡类问题的一种方法,但并不理想。当少数类通过增加数量进行过采样时,其效果是识别特征空间中相似但更具体的区域作为少数类的决策区域。决策树将以您提到的方式预测给定点,但如果它的决策区域根据它的训练方式不准确,那么它就不能很好地预测。

那么,为什么类的先验概率会影响样本的预测呢?

先验概率偏移是一种特殊类型的数据集偏移。关于这个主题的文献中有相当多的工作,无论是生成模型还是判别模型,它们都存在这个问题。一般的想法是您是否正在尝试训练判别模型P(y|x)=P(x|y)P(y)P(x)或生成模型P(x,y)=P(x|y)P(y), 的变化P(y)影响P(y|x)P(x,y). 如果P(x)训练数据集和测试数据集发生变化,这种现象称为协变量偏移。您可以在此处了解有关数据集转移的更多信息,这可能是对数据集转移所做工作的第一次编译。

另外,您可以参考这篇关于SMOTE 的论文。它解决了决策树的过采样问题,并通过创建少数类的合成点提供了一种更好的方法来重新平衡数据集。它被广泛使用,我相信这种方法的各种实现已经存在。