神经网络损失函数中的各种常见熵(信息熵、KL散度、交叉熵、互信息)

信息熵 Information entropy

对于离散的随机变量x,首先定义其自信息I(x),它应该有以下两个特点:

  • I(x)应该依赖于概率分布p(x),是p(x)的单调函数
  • 观察两个事件同时发生时获得的信息量应该等于观察到事件各自发生时获得的信息之和,即I(x,y)=I(x)+I(y),同时满足p(x,y)=p(x)p(y)

基于上述特点,可定义I(x)=-logp(x),负号保证I(x) \geq 0

熵表示对所有可能发生的事件产生的信息量的期望:
H(X) =-\sum_{i=1}^{n}p(x_i)logp(x_i)

联合熵 Joint entropy

\begin{align} H(X,Y) &= -\sum_{x,y}p(x,y)logp(x,y) \\ &= -\sum_{i=1}^{n} \sum_{j=1}^mp(x_i,y_j)logp(x_i,y_j) \end{align}

条件熵 Conditional entropy

\begin{align} H(Y|X) &= \sum_{x}p(x)H(Y|X=x) \\ &= -\sum_{x}p(x)\sum_yp(y|x)logp(y|x) \\ &= -\sum_{x,y}p(x,y)logp(y|x) \end{align}

相对熵 Relative entropy,也称为KL散度

分布p的最佳信息传递方式来传达分布q,比用分布q自己的最佳信息传递方式来传达分布q,平均多耗费的信息长度为相对熵

p(x),q(x)是离散随机变量X中取值x的两个概率分布:
H(p||q) = KL(p||q) = \sum_x p(x)log\frac{p(x)}{q(x)}
KL散度是不对称的,即KL(p||q) \neq KL(q||p)。JS散度解决KL不对称问题。
JS(p||q) = \frac{1}{2}KL(p||\frac{p+q}{2})+\frac{1}{2}KL(q||\frac{p+q}{2})

交叉熵 Cross entropy

用分布p的最佳信息传递方式来传达分布q中随机抽选的一个事件,所需的平均信息长度为交叉熵
\begin{align} H(p, q) &= -\sum_xp(x)logq(x) \\ &= -\sum p(x)(logp(x) - log\frac{p(x)}{q(x)}) \\ &= H(p) + KL(p||q) \end{align}

互信息 mutual information

一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性

\begin{align} I(X,Y) & = H(X) - H(X|Y) = H(Y) - H(Y|X) \\ & = -\sum_x p(x)log p(x) + \sum_{x, y} p(x, y) log p(x|y) \\ & = -\sum_x \sum_yp(x,y)log p(x) + \sum_{x, y} p(x, y) log \frac{p(x,y)}{p(y)} \\ & = -\sum_{x,y}p(x, y) log p(x) + \sum_{x, y} p(x, y) log \frac{p(x,y)}{p(y)} \\ & = \sum_{x,y}p(x,y)log\frac{p(x,y)}{p(x)p(y)} \end{align}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容