在不平衡分类中将哪个类定义为正

机器算法验证 分类 不平衡类
2022-03-30 09:08:28

在分类任务中,为什么我们通常选择少数类作为响应变量的“正面”案例?例如,如果 A 类和 B 类分别有 1000 和 9000,我们通常将 A 类定义为 1,B 类定义为 0,因此响应变量的平均值可以为 0.1 而不是 0.9。如果响应变量的平均值为 0.6 或 0.7,分类算法会有问题吗?我们需要选择平均为 0.4 或 0.3 的类作为正类吗?提前致谢!

2个回答

不要紧。这样做是因为它类似于疾病检测,大多数人没有这种疾病,但这就是你想要捕捉的。但是,无论哪种方式,所有数学运算都很好。如果你把健康课上1s,您的模型将输出健康的概率,而不是患病的概率。这两者的英文措辞可能带有不同的内涵,但数理逻辑是相同的。

@Dave 的回答是,所有分类算法在哪个类被称为正类和哪个被称为负类,或者哪个被分配给 0 和哪个被分配给 1 方面都是对称的。这可能在几乎所有情况下都是正确的,但也许是一个。这对于决策树和决策树的集合来说是正确的,因为类被视为分类变量,对于 KNN、朴素贝叶斯等也是如此。以数字形式威胁类的两个分类器算法家族,因此可能与值 0 和 1 相关是非对称的,它们是逻辑回归和 SVM,但可以验证公式是对称的,因此没有问题。

但是有一种情况我认为在二阶方面可能不是对称的。我不是 100% 肯定,如果有更多知识渊博的人参与讨论,我将不胜感激。考虑一个优化log loss的神经网络(例如 MLP)

logloss=[yilogpi+(1yi)log(1pi)]

yi是正确的输出,pi是预测的概率。

通过将 y_i 从 0 交换为 1,该公式是对称的,反之亦然,神经网络计算的优化不是(这是二阶方面)。输出与yi=0对 log loss 没有贡献,因此对梯度没有贡献,并且它不用于神经网络的梯度下降。因此,通过使用多数类 0 是不使用大部分数据来优化 MLP!最小值是相同的,但是 a)如果梯度下降将达到该最小值,b)如果它将收敛到该最小值,以及 c)MLP 将解决的解(假设它没有达到全局最小值)不一样对于多数类使用 0 还是 1。

我在这里吗?