- 交叉熵常用于分类问题,表示的是预测结果的概率分布与实际结果概率分布的差异
A
代表真实情况PA(xi)
代表真实情况下样本属于类别i
的概率-logPA(xi)
可以视为真实情况下样本属于类别i
时的信息量,就是样本属于i
时让人惊讶的程度。如果样本属于i
的概率越小,那么当样本属于i
时就越让人惊讶。所以信息量与概率成反相关S(A)
代表真实情况下概率分布的熵,也就是各个类别信息量的期望
B
代表模型预测的情况- KL散度可以度量俩个分布之间的差异,具有以下性质
- KL散度 >= 0, 当且仅当
A == B
的时候为0
。证明可参考这篇博客 - KL散度越大,俩种分布的差距越大
- KL散度 >= 0, 当且仅当
- 最小化KL散度,就可以让模型预测的概率分布接近真实的概率分布
- KL散度 =
A
的熵 + 交叉熵 - 由于分类时实际分布(One Hot)的熵是固定的,最小化KL散度等效于最小化交叉熵
- KL散度可以看作两个分布的信息量差值在以A概率为权重的情况下的期望
- 交叉熵可以看作以实际概率作为加权依据的熵
- 模型预测的误差越大,使用交叉熵所获得的梯度就越大,损失下降得越快。当误差小的时候,权重的更新就慢。这是一个很好的性质,有助于模型收敛。