交叉熵损失
输入真实标签与预测概率,计算二分类交叉熵损失,评估模型预测偏差,适用于机器学习训练监控、损失函数调试与分类模型评估。
🌡️ Binary Cross-Entropy Loss Calculator
Compute binary cross-entropy loss from true labels and predicted probabilities to monitor training and spot badly calibrated outputs.
📐 计算公式 / 原理
单样本 L = −[y·ln p + (1 − y)·ln(1 − p)];批量 L = 单样本 × n
二分类交叉熵对 confident 且错误的预测给出极大惩罚(p→0 而 y=1 时趋于无穷),梯度形式简洁 (p − y),配合 sigmoid 反向传播非常干净。实现时要注意对 p 做 eps 截断防止 log(0)。
📐 计算公式与说明
L = −(y·log p + (1−y)·log(1−p))
p 应裁剪至 (ε,1−ε) 避免 log(0)。
📚 深度解析:交叉熵损失
💡 常见使用场景
- 二分类交叉熵 CE=−[y·log(p)+(1−y)·log(1−p)],y∈{0,1}, p 为预测正类概率。
- 多分类用 −Σyᵢlog(pᵢ),要求 p 经 softmax 且和为 1。
- CE 对错误预测惩罚重(对数放大),是分类模型训练的标准损失。
单样本损失
真实 y=1,预测 p=0.9 → CE=−log(0.9)=0.105;若 p=0.1 → CE=−log(0.1)=2.303。预测越错损失越大,驱动模型修正。
❓ 常见问题(FAQ)
- 为什么用交叉熵而不是均方误差?
- CE 对概率错误更敏感且在 sigmoid/softmax 下梯度更优,MSE 用于概率会产生饱和、收敛慢;CE 是分类自然对应的对数似然损失。
- p 为 0 或 1 会怎样?
- log(0) 得 −∞ 导致数值爆炸。实践中对 p 做裁剪(clip 到 ε~1−ε)或用带 logits 的稳定实现(直接吃 raw score 算 softmax)避免。