凛冬将至

从简单的例子开始

0%

熵是信息论中的概念,在机器学习中也被广泛应用,比如交叉熵KL散度等。本文总结一下各种熵有关的概念,并总结他们的各种形式变种。

热力学中的熵

直观理解上,熵可以理解为混乱度,混乱度越高,熵越大。熵是来自于热力学的概念,先对这个概念做初步的了解。

热力学熵

1856年,克劳修斯推导出的公式:

其中,S表示熵,Q表示热量,T表示温度,$ \Delta$表示增量。这个公式可以视作“熵”这个字的来源,1924年,我国物理学家胡刚复在翻译德语“entropie”时,创造出来的,在“商”字左边加个“火”,取“热量与温度之商”的意思。该公式有两个问题

  1. 只给了熵的增量的定义,没有给出一个锚点。
  2. 难以直观理解。

统计熵

1877年,玻尔兹曼从统计力学角度给出的定义:

其中,S表示熵,$k_b$是玻尔兹曼常量,W表示微观状态数,即某个系统所处的某个特定的宏观状态,W是符合该系统状态的微观状态总数。所谓宏观状态和微观状态指的是啥?系统的宏观状态有温度、体积、压强、浓度等;微观变量有分子的动量、动能、速度、质量等。

吉布斯熵

玻尔兹曼的定义假设了“各微观状态出现的概率相等”,美国物理学家吉布斯在其基础上定义了一般情况下的熵,被称为吉布斯熵:

其中$p_i$表示各微观状态出现的概率。

信息熵

量化信息的基本思想

  • 发生概率很大的事件,信息量较少,一定发生的事件则没有信息量
  • 发生概率很小的事件,信息量较高
  • 独立事件具有增量的信息

其实从这些基本的定量关系,我们就能够大概做出一些推导。首先是信息量(用$h(·)$表示)与概率($p(·)$)相关,概率越小,信息量越大:$h(A)=f(p(A))$,其中$f(·)$是个单调递减函数。

另外,两个独立事件的信息量等于两个事件的信息量之和:

由$h(A)$的定义和独立事件的联合概率等于各自概率乘积可知:

从上面两个式子可知

不难发现$f(a)+f(b)=f(ab),a>0,b>0$,满足该式子的一定是对数函数(证明)。令$g(x)=f(e^x)$,则

如果$f(·)$是连续的,则$g$也是连续的,则$g$必然满足:$g(x)=cx$,$c$为某个常数(柯西方程)。因此,

即,如果想让两个独立事件的信息量等于他们的信息量之和,则信息量的计算形式必然是对数函数

自信息

事件$X=x$的自信息(self-information),公式中的$x$指的是$X=x$这个事件

取值区间:$p(x)=1$时,事件一定发生,自信息为0;$p(x)=0$时,事件不可能发生,自信息为无穷大;

其物理含义为:

  • 当底数为2时,其单位为比特(bit)或者香农(shannons)时,1 bit(shannons)是以$\frac{1}{2}$的概率观测到一个事件时获得的信息量
  • 当底数为e时,其单位为莱特(nats)时,1 nats是以$\frac{1}{e}$的概率观测到一个事件时获得的信息量

信息熵

给定某个概率分布,其香农熵(Shannon Entropy),量化不确定性。

其含义:

  • 在事件发生后,表示平均每个事件(或符号)所提供的信息量
  • 在事件发生前,表示随机变量取值的平均不确定性
  • 表示随机变量的随机性大小,熵越大,随机性越大
  • 当事件发生后,其不确定性就被解除,熵是解除随机变量不确定性平均所需信息量。

相对熵

同一个样本空间下,两个单独的概率分布P和Q,在度量两个分布之间差异时,可以使用相对熵(relative entropy)。P相对于Q的相对熵为

相对熵也称为交叉熵或K-L距离。满足以下条件:

  • 非负性
  • 当前仅当P=Q时,相对熵为0

编码解释

对于概率分布为 P的信源,如果采用编码长度为$I_p(x)=-log \ p(x)$的方式进行编码,则平均码长为:

如果采用概率分布Q的码长方式进行编码,那么$x$的编码长度为$I_q(x)=-log \ q(x)$,则平均码长为:

那么,由于概率不匹配导致的平均编码长度增加的量,即为相对熵:

最大熵定理

离散无记忆信源输出M个不同的信息符号,当且仅当各个符号出现概率相等是,熵最大。因为出现任何符号的可能性相等时。不确定性最大。

交叉熵

信息论中,称相对熵即为交叉熵、KL散度,但在机器学习中,更常用的交叉熵定义为:

从编码意义上解释,$E_{X\sim P}[log\ Q(x)]$是采用概率分布Q的码长方式概率分布为 P的信源进行编码,得到的平均码长,交叉熵是该码长的负值。

针对Q最小化交叉熵等价于最小化KL散度or相对熵。

熵与其他概念关系

IV值与PSI

IV值计算公式

其中$i$为特征值或模型分分段,共分为$n$段,$P^i_g$和$P^i_b$分别代表好人落在第$i$段上的概率和坏人落在第$i$段的概率,展开应该表示为$P_g(N=i)$和$P_b(N=i)$。相当于有$n$个样本,每个样本有两个概率$P^i_g$和$P^i_b$,这两个概率的相对熵分别为$KL(P_g||P_b)、KL(P_b||P_g)$,两者的和即为IV值。可以认为是按照特征值(或模型分)分段后,好人的分布与坏人的分布之间的两个顺序的KL散度之和,来度量两者分布的差异。

PSI计算公式

PSI与之一样的道理,将特征值(或模型分)分为$n$段后,$P^i_{Actual}、P^i_{Expect}$分别为样本出现在第$i$段的实际概率和期望概率。PSI是这两个概率的相对熵($KL(P_g||P_b)、KL(P_b||P_g)$)的和。