信息熵、交叉熵与KL散度
信息量
在信息论与编码领域中,信息量也被称为自信息(self-information),它衡量的是一个事件所携带的信息量多少。通常来说,在事件的概率越低时其携带的信息量越大;从编码的角度来看则相反:当事件的概率越高其所需的码长越短;而当事件的概率越低其所需的码长则会相应增加以避免可能出现的歧义现象。具体而言,在这种情况下我们有以下定义:

信息熵
信息熵即为概率分布 p 所对应的平均自信息量,它反映了随机变量或系统所具有的不确定程度,其值越大则表明系统越具有不确定性.从编码理论角度来看,信息熵可以用数学公式表示为

交叉熵
交叉熵被称为在给定真实概率分布q的情况下,在假设猜测的概率分布p下对事件进行编码所需的平均码长(或以假设的概率分布对实际概率进行编码所获得的信息量)。它常用于评估实际数据与模型生成数据之间的相似程度;当且仅当下述等式成立时(即q等于p),交叉熵达到其理论上的最小值:H(q,p)=∑ q(x) log(1/p(x))
其中H(q,p)表示两个概率分布间的交叉熵;该度量在机器学习中被广泛应用于分类模型评估中

基于此,在多种机器学习算法中普遍采用交叉熵作为损失函数这一指标具有重要意义;当交叉熵数值越低时意味着当前模型所学的估计概率分布与真实概率分布之间的两者的分布差距缩小。相较于均方误差而言交叉熵具有两个主要优势:首先其能够更好地处理类别不平衡的问题;其次其在分类任务中表现出更强的鲁棒性
- 在LR模型中,默认选择均方误差损失函数时其为一非凸函数;相比之下若选用交叉熵损失函数则该损失函数呈现凸性特征;
 - 当采用sigmoid激活函数于LR模型中时其残差计算涉及对该激活单元导数的应用;其导数值在输入超出[-5,5]范围后急剧下降这会导致梯度消失现象发生;相比之下若选用交叉熵损失功能会使这一问题得以解决。
 

KL散度
KL散度又称为相对熵 ,用于衡量两个概率分布之间的差异程度。从信息编码的角度来看,在信息科学领域中,KL散度被定义为基于猜测分布p所获得的平均码长与基于真实分布q所获得的平均码长之间的差值。其数学表达式可被定义为:

一般地,两个分布越接近,其KL散度越小,最小为0.它具有两个特性:
- 非负性,即KL散度最小值为0,其详细证明可见[1] ;
 - 非对称性,即 D q(p)不等于 D p(q) ;
 
KL散度与交叉熵之间的关系
在这里,再次盗用[1]的图来形象地表达这两者之间的关系:

- cH(p)代表信息熵这一概念的数学期望。
- H_q(p)衡量了使用分布q对分布p进行编码所需的期望信息量。
- 其中,H_q(p) >= H(p).
- D_q(p)计算了两个概率分布之间的差异程度。
- 其中,D_q(p)>=0.
- 观察图可知,交叉熵等于基线熵与KL散度之和,即H_q(p)= H(p)+ D_q(p).
 
 
 - 其中,D_q(p)>=0.
 
 - D_q(p)计算了两个概率分布之间的差异程度。
 
 - 其中,H_q(p) >= H(p).
 
 - H_q(p)衡量了使用分布q对分布p进行编码所需的期望信息量。
 
参考资料
第一项参考文献为 <>。
第二项参考文献为 <>。
第三项参考文献为 https://zhuanlan.zhihu.com/p/29321631。
第四项参考文献为 https://www.zhihu.com/question/41252833。
