我有个标签的分类问题。我将观察的正确标签中的向量,如果属于 k 类则条目。
给定一个观测值,我用向量预测它的标签,其中分量满足和 . 一些的较大值意味着更有可能属于类。
我们想通过选择合适的损失函数。我知道一个常见的选择是交叉熵:。是否使用过平方损失?如果是这样,与交叉熵相比,它是否倾向于产生具有明显不同性能配置文件的分类器?
对相关问题的评论警告不要使用平方损失。
我有个标签的分类问题。我将观察的正确标签中的向量,如果属于 k 类则条目。
给定一个观测值,我用向量预测它的标签,其中分量满足和 . 一些的较大值意味着更有可能属于类。
我们想通过选择合适的损失函数。我知道一个常见的选择是交叉熵:。是否使用过平方损失?如果是这样,与交叉熵相比,它是否倾向于产生具有明显不同性能配置文件的分类器?
对相关问题的评论警告不要使用平方损失。
这种方案称为Brier loss。这是一个适当的评分规则,因此只有最优分类器是正确的,等等。当然,它对应于预测标签分布和真实标签分布(即点质量)之间
如今的深度学习类型非常喜欢交叉熵损失,它对应于 KL 散度。这将非常严厉地惩罚为正确类别提供非常低的概率,可能会鼓励相对于 Brier 损失的预测概率趋于平缓。
考虑一个路分类问题,您对第个类的概率的估计是。让是给定实例的正确标签,并且是 Brier 损失。那么 而如果是交叉熵损失,则 绘制这些:
因此,我们可以看到交叉熵确实强调了错误的值,而 Brier 损失仅与概率估计呈线性关系。
另一个有趣的性质:假设有三个类别,第一个是正确的。交叉熵将平等地评估预测和,而 Brier 损失更喜欢第二个。我不知道这是否具有巨大的实际意义,但只关心真实类别对我来说似乎是一个合理的标准,这导致交叉熵成为唯一合适的评分规则。
感谢@djs 的精彩回答。同意其中的大部分,但可能不是最后一部分。(由于缺乏直接评论的声誉,不得不发布另一个答案。)
另一个有趣的性质:假设有三个类别,第一个是正确的。交叉熵将平等地评估预测和,而 Brier 损失更喜欢第二个。我不知道这是否具有巨大的实际意义,但只关心真实类别对我来说似乎是一个合理的标准,这导致交叉熵成为唯一合适的评分规则。
IMO,关心虚假类别实际上是一个有价值的功能。在知识蒸馏中,利用错误类别的预测(所谓的“暗知识”)是基本原则之一。
对于三个类别(狗、猫、汽车),假设真正的标签是“狗”,预测显然优于预测,因为“ car”与“dog”相差甚远, “car”预测几乎不合理。
尽管如此,这并没有使 MSE 成为更好的分类损失函数。交叉熵仍然是首选。