转载自:https://zhuanlan.zhihu.com/p/37917476
在机器学习中常用到交叉熵损失函数,其来源于信息论,用以描述两个两个分布之间的差异。为便于理解,下面描述几个相关定义。
假设X为一个离散随机变量,则X=x0的自信息(可理解为X=x0发生所携带的信息)为:
单自信息只处理单个输出,为描述整个概率分布的不确定性总量,我们定义熵:
其表示遵循该分布的事件所产生的期望信息量总和(不确定性总量越大,则信息总量越大)。
假设对于同一随机变量X,我们有两个单独的概率分布P(X)和Q(x),现定义一个KL散度用以描述这两个分布之间的差异:
KL散度是非负的,但其并非真正代表两个分布之间的距离,因为它不是对称的。和KL散度密切联系的是交叉熵:
所以针对Q最小化交叉熵等价于最小化KL散度,因为Q不影响H(P)。若P(x)为数据原始分布,则使交叉熵最小的分布Q(x)即是与P(x)最接近的分布。
现考虑一个分布P(X),我们从中随机取一些样本 ,计算一个似然 ,则似然函数为: 。最大化似然函数即:
可以看到最小化交叉熵和最大似然函数的结果是一样的。