交叉熵损失

🌡️ 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))(y 真实标签 0/1、p 预测概率);批量损失=单样本 L×样本数 n。校验:无强校验,空值按 0 兜底;结果非有限(如 p=0 或 1 取对数发散)时提示「部分结果无定义…请检查输入」。
二分类交叉熵对 confident 且错误的预测给出极大惩罚(p→0 而 y=1 时趋于无穷),梯度形式简洁 (p − y),配合 sigmoid 反向传播非常干净。实现时要注意对 p 做 eps 截断防止 log(0)。

📐 计算公式与说明

交叉熵判读(与上框公式同源的解读口径):L 恒非负,预测概率越贴近真实标签损失越小——y=1 时 p→1 则 L→0、p→0 则 L→∞;随机猜测 p=0.5 时单样本 L=ln2≈0.693。批量值为单样本的 n 倍,取均值除以 n 即还原;训练目标即最小化交叉熵损失。

p 应裁剪至 (ε,1−ε) 避免 log(0)。

📚 深度解析:交叉熵损失

💡 常见使用场景

单样本损失
真实 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)避免。

Formula & Standard References

Item Formula / Note Source / Standard
Definition cross entropy is the negative weighted log of predicted probabilities Information theory
Relation to KL cross entropy equals the true entropy plus the KL divergence Information theory
Gradient property with softmax the gradient is prediction minus label Deep learning texts