交叉熵(Cross Entropy)

1. 信息量

香农(Shannon)认为“信息是用来消除随机不确定性的东西”,也就是说衡量一个事件信息量大小就看这个信息消除事件不确定性的程度。也即是说信息量的大小和事件发生的概率成反比,可以表示如下,

其中x表示事件,p(x)表示事件发生的概率。

2. 信息熵

信息熵为信源信息量的期望,即该信源所有可能发生事件的信息量的期望。可以表示为,

信息熵具有以下性质:单调性,即发生概率越高的事件,其所携带的信息熵越低。极端案例就是“太阳从东方升起”,因为为确定事件,所以不携带任何信息量。从信息论的角度,认为这句话没有消除任何不确定性。非负性,即信息熵不能为负。这个很好理解,因为负的信息,即你得知了某个信息后,却增加了不确定性是不合逻辑的。累加性,即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和。信息熵是用来衡量信源不确定性的。信息熵越大,信源越具不确定性,信源越复杂。

对于一类特殊的问题,0-1分布问题,如掷硬币只有正反两面,或者一个事件只有成功和失败两种可能等,熵的公式可以去掉求和公式,

3. 相对熵

相对熵,又被称为Kullback-Leibler散度或信息散度,是两个概率分布间差异的非对称性度量 。在信息理论中,相对熵等价于两个概率分布的信息熵的差值 。相对熵是一些优化算法,例如最大期望算法(Expectation-Maximization algorithm, EM)的损失函数 。此时参与计算的一个概率分布为真实分布,另一个为拟合分布,相对熵表示拟合真实分布时产生的信息损耗。在机器学习中,一般p表示真实分布,而q表示预测分布,则相对熵定义为,

通过公式可以看出,q分布与p分布越接近,KL散度越小,相对熵越小。

4. 交叉熵

对相对熵进行展开,

通过观察,式子的第一项可以写为真实分布的信息熵,
由于第一项真实分布的信息熵为恒定值,所以在机器学习中只需要优化最后一项,即交叉熵:
同样,对于0-1分布问题,得到二进制交叉熵

5. 机器学习中交叉熵loss的意义

我们知道在线性回归中,经常使用均方差(MSE)loss,为什么在拟合分布时要采用交叉熵呢?下面进行分析,这里我们假设使用MSE来衡量预测分布与真实分布的差异,这里考虑最简单的情况,单个样本,

由于分布的概率值在(0,1)之间,所以在计算MSE时通常对预测值使用sigmoid函数进行转换到(0,1)区间,sigmoid函数图像如下,
如果执行一次梯度下降,对L求关于x的偏导得到,

由sigmoid函数图像可以看出,z越接近0或1,曲线越平缓,即梯度越小,使得偏导数计算的值很小,严重降低了学习的速度。

我们考虑对应交叉熵loss,

同样求偏导得到,
可以看出此时偏导数值与sigmoid函数的梯度无关,这也就避免了均方差loss的缺陷,所以在拟合分布时采用交叉熵loss。

你可能感兴趣的:(交叉熵(Cross Entropy))