可视化资源

损失函数对比:MSE / 交叉熵 / Hinge / Focal

同一道题,不同的损失函数会给出截然不同的“扣分标准”。这里固定一个正样本(真实标签 y=+1),横轴是模型打出的分数 z(越大越自信地判它为正),纵轴是各损失要扣的分。重点看左边“自信地答错”那一带:交叉熵会把分数压向无穷大,惩罚极重;Hinge 只在间隔内线性收一点;而 MSE(作用在概率上)几乎封顶在 1,对自信的错误近乎无动于衷;Focal 则反过来——它把“已经轻松分对”的样本权重压下去,好把注意力留给难样本。在图上左右拖动那条竖线,读四个损失值。

真实标签 y=+1,预测概率 p=σ(z)。拖动竖线选一个分数 z:左边是“自信答错”区(z≪0,p 很小),右边是“自信答对”区(z≫0,p→1)。看四条曲线在竖线上的高度差。

2.0 -2.5

损失 ℓ(z) · 横轴是分数 z

竖线处 z=−2.5 的损失值

预测概率 p = σ(z) =
交叉熵 −log p Hinge max(0,1−z) MSE (1−p)² Focal −(1−p)γ·log p
交叉熵:答错重罚

p→0 时 −log p→∞。自信地答错会被狠狠惩罚,逼模型别犯笃定的错误。

MSE:对错误麻木

(1−p)² 最多≈1。哪怕自信答错,损失也封顶,梯度还很小——这就是分类一般不用 MSE 的原因。

Focal:压低易样本

乘上 (1−p)γ,把“已经分对”的简单样本权重压下去,让难样本主导训练(目标检测常用)。