多标签分类的平方损失

机器算法验证 机器学习 分类 最小二乘 损失函数 交叉熵
2022-04-11 04:25:24

我有个标签的分类问题。我将观察的正确标签中的向量如果属于 k 类则条目KyxyRKyk=δkkxk

给定一个观测值,我用向量预测它的标签,其中分量满足 . 一些的较大值意味着更有可能属于类。xf(x)RKfk(x)fk(x)(0,1)kfk(x)=1fk(x)xk

我们想通过选择合适的损失函数我知道一个常见的选择是交叉熵:是否使用过平方损失如果是这样,与交叉熵相比,它是否倾向于产生具有明显不同性能配置文件的分类器?f(x,y)=kyklogfk(x)(x,y)=12||yf(x)||22

对相关问题的评论警告不要使用平方损失。

2个回答

这种方案称为Brier loss这是一个适当的评分规则,因此只有最优分类器是正确的,等等。当然,它对应于预测标签分布和真实标签分布(即点质量)之间L2

如今的深度学习类型非常喜欢交叉熵损失,它对应于 KL 散度这将非常严厉地惩罚为正确类别提供非常低的概率,可能会鼓励相对于 Brier 损失的预测概率趋于平缓。KL(yy^)

考虑一个路分类问题,您对第个类的概率的估计是是给定实例的正确标签,并且是 Brier 损失。那么 而如果是交叉熵损失,则 绘制这些: Kip^iyxB=(p^y(x)1)2

B=2(p^y(x)1)p^y(x),
C(x,y,w)=logp^y(x)
C=1p^y(x)p^y(x).
在此处输入图像描述

因此,我们可以看到交叉熵确实强调了错误的值,而 Brier 损失仅与概率估计呈线性关系。

另一个有趣的性质:假设有三个类别,第一个是正确的。交叉熵将平等地评估预测,而 Brier 损失更喜欢第二个。我不知道这是否具有巨大的实际意义,但只关心真实类别对我来说似乎是一个合理的标准,这导致交叉熵成为唯一合适的评分规则。(.8,.2,0)(.8,.1,.1)

感谢@djs 的精彩回答。同意其中的大部分,但可能不是最后一部分。(由于缺乏直接评论的声誉,不得不发布另一个答案。)

另一个有趣的性质:假设有三个类别,第一个是正确的。交叉熵将平等地评估预测,而 Brier 损失更喜欢第二个。我不知道这是否具有巨大的实际意义,但只关心真实类别对我来说似乎是一个合理的标准,这导致交叉熵成为唯一合适的评分规则。(.8,.2,0)(.8,.1,.1)

IMO,关心虚假类别实际上是一个有价值的功能。知识蒸馏中,利用错误类别的预测(所谓的“暗知识”)是基本原则之一。

对于三个类别(狗、猫、汽车),假设真正的标签是“狗”,预测显然优于预测,因为“ car”“dog”相差甚远, “car”预测几乎不合理。(.8,.2,0)(.8,.1,.1)0.1

尽管如此,这并没有使 MSE 成为更好的分类损失函数。交叉熵仍然是首选。