为什么在概率上使用平方损失而不是逻辑损失?

机器算法验证 机器学习 物流 分类 隐马尔可夫模型 损失函数
2022-03-26 12:51:51

我正在阅读“贝叶斯知识追踪”模型拟合过程。可以在此处找到模型详细信息。简而言之,它是一种应用于教育应用的改进隐马尔可夫模型。

我对作者在此处(来自哥伦比亚大学)发布的代码有一些疑问,似乎作者使用概率平方损失来检查拟合的好坏作者在所附文件中说:

为每个学生的动作计算 LikelihoodCorrect。之后,从 studentAction 中减去 LikelihoodCorrect 并平方得到平方残差 (SR),然后将 SR 相加得到 SSR。

likelihoodcorrect=(prevL(1.0Slip))+((1.0prevL)Guess)
SSR+=(StudentActionlikelihoodcorrect)2

(在作者提供的数据文件中,学生行为是一个二元变量。因此,这是 0 或 1 减去预测概率,然后平方。)

我们应该改用逻辑损失吗?,即

ylog(p)+(1y)log(1p)

代替

(yp)2

为什么有许多出版物使用二元变量的平方损失而不是逻辑损失?例如卡内基梅隆大学的这篇论文,第 7 页,第 3 节结尾。

使用 10 个随机分配的用户分层折叠对所有模型进行了交叉验证。对于每个交叉验证结果,我们计算了均方根误差 (RMSE) 和准确度(正确预测的学生成功和失败的数量)。

1个回答

二元结果的平方损失称为Brier 分数它在作为“正确评分规则”的意义上是有效的,因为当您使用正确的概率时,您将获得最低的均方误差。换句话说,逻辑损失和平方损失具有相同的最小值。

本文将 Brier 分数(“平方损失”)的属性与其他一些损失函数进行了比较。他们发现平方损失/Brier 分数比逻辑损失收敛得更慢。

Square loss 有一些优势,可以在某些情况下进行补偿:

  • 它始终是有限的(与逻辑损失不同,如果则可能是无限的,反之亦然)p=1y=0
  • 它随着错误大小的增加而加速(因此与准确性和绝对损失相比,它不太可能让任何非常不准确的预测溜走)
  • 它在任何地方都是可微的(不像铰链损失和零一损失)
  • 这是软件包中最常见的损失,因此在某些情况下它可能是唯一的选择