在分类的网络模型中,我们常常使用交叉熵作为损失函数,今天来梳理一下这些知识点。
1. 交叉熵
交叉熵作为损失函数的实际意义,这里引用这篇博文(https://blog.csdn.net/elite666/article/details/83850786)的一句话:
交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近,即拟合的更好。
交叉熵计算公式:
式中 x为一个离散随机变量,p(xj)表示第j类的概率。
假设同一随机变量X,我们有两个单独的概率分布P(x)和Q(x),那KL散度是用以描述这两个分布之间的差异。
计算公式:
交叉熵和KL散度的关系:
当分布P 是已知的,则熵是常量,此时最小化交叉熵等价于最小化KL散度。
2. 最大似然估计
我们这里先说最大似然估计的计算步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数;
(4)解似然方程。
似然函数:
当我们在计算一个batch的最大似然时有
实际上在使用最大似然估计时常取负数,通过上面的式子我们就可以看出,这样我们就发现最大似然和最小化交叉熵是等价的。(因为有一个负号,最小化交叉熵就是最大化似然,模型训练得到的效果是一样的)。
参考:
https://zhuanlan.zhihu.com/p/37917476
https://www.zhihu.com/question/314706587
https://blog.csdn.net/elite666/article/details/83850786