什么是 对数损失(Log Loss)?

对数损失(Log Loss)是分类器分配给每个观测标签的概率之负对数的平均值,因此高置信度错误会受到远大于不确定预测的惩罚。

快速了解

规范文档官方规范

工作原理

从有效概率或稳定 Logit 计算

概率向量必须是有限非负数,按声明类别顺序对齐,并在容差内总和为一。评测库常把概率裁剪到远离零和一的位置以保证数值稳定;由于 Epsilon 限制了最大惩罚,必须随结果公开。训练时应使用基于 LogSumExp 的稳定 Logit 实现,不要先手工 Softmax 再直接取对数。

使用 Proper Score,但不要直接称为校准

Logarithmic Score 是严格 Proper Scoring Rule:在期望意义下,如实报告真实预测分布会最小化其负值。Gneiting 与 Raftery系统论述了 Proper Scoring Rule 框架。但总体 Log Loss 降低不能单独证明每个概率区间或子群都已校准,还要补充可靠性分析与任务结果。

固定权重、标签与数据切分契约

当前 scikit-learn API采用自然对数,支持二分类与多分类概率,并按机器精度裁剪。Class Weight、Sample Weight、Label Smoothing、缺失结果和重新归一化都会改变目标量。模型必须在独立数据上、按相同类别顺序、预处理、权重和标签成熟窗口比较。

主要特点

  • 根据分配给真实类别的概率进行评分
  • 对高置信度错误施加理论上没有有限上界的对数惩罚
  • 在结果空间与期望定义正确时属于严格 Proper Score
  • 支持二分类与多分类概率分布
  • 依赖对数底、聚合、权重、裁剪和类别顺序
  • 不能选择决策阈值,也不能证明每个切片都已校准

常见用途

  1. 比较共享同一标签空间的概率分类器
  2. 训练 Logistic Regression 和神经分类模型
  3. 发现新版本是否变得更加自信但错误
  4. 依据裁决结果评估 Reward Model 或 Judge 概率
  5. 结合校准与阈值指标审计概率质量

示例

loading...
Loading code...

常见问题

二分类对数损失如何计算?

对每个标签 `y` 与正类概率 `p` 计算 `-[y log(p)+(1-y)log(1-p)]`,再按声明的样本权重求平均。还要公开对数底、裁剪 Epsilon、正类、标签成熟窗口和聚合方式。

为什么 Log Loss 会重罚高置信度错误?

真实类别被分配的概率趋近零时,负对数会无限增大。因此错误概率 0.001 会比 0.4 糟糕得多,即使二者在 0.5 阈值下都变成同一个错误硬标签。

Log Loss 与 Cross-Entropy Loss 相同吗?

对采用 One-hot 标签和类别概率的分类任务,两者的常见经验公式一致。但 Cross-Entropy 是更广的信息论概念,报告仍需明确目标编码、Reduction、权重、对数底,以及输入是 Logit 还是概率。

Log Loss 更低就能证明校准更好吗?

不能。Log Loss 是同时受概率可靠性与结果区分能力影响的 Proper Score;总体值降低可能仍伴随某个概率区间或子群变差。应补充 Reliability Diagram、校准摘要、区分指标和决策结果。

实现为什么要裁剪概率?

给真实类别精确零概率会产生无穷损失并导致数值失败。裁剪可得到有限计算结果,但也改变了最大惩罚。应记录 Epsilon 和被裁剪数量,训练时优先使用数值稳定的 Logit 公式。

相关术语

相关文章