熵(Entropy)与信息量详细介绍——统计机器学习核心概念

/ Machine Learning / 没有评论 / 1920浏览

信息量和信息熵

如果说概率是对事件不确定性的度量,那么信息(包括信息量和信息熵)就是对事物不确定性的度量

信息量与信息熵的关系

信息熵本质上是信息量的期望

信息熵

英文名:entropy

设 X 是取有限个值的随机变量,其概率分布为 $P(x)$, 且 $x \in X$, 则一个离散随机变量 X 的信息熵 H(X) 为

$$H(x) = \sum_{x \in X}p(x)\log_{a}\frac{1}{p(x)} = - \sum_{x \in X}p(x) \log_{a}p(x)$$

对数若以 2 为底,则熵的单位是比特,若以 e 为底,则单位为奈特。

信息熵被定义为平均不确定性的度量,或者说一个物体内部的混乱程度
信息论中用熵描述随机变量平均信息量.

熵的基本性质

基尼系数

英文名:Gini

$$Gini(p) = \sum_{k=1}^{K}p_{k}(1-p_{k}) = 1 - \sum_{k=1}^{K}(p_{k})^2$$

联合熵

设X、 Y是两个离散型随机变量,它们的联合分布密度为 $P(x,y)$,则X,Y的联合熵定义为

$$H(X,Y) = -\sum_{x \in X} \sum_{y \in Y}p(x,y) \log p(x,y)$$

条件熵

设 X、 Y 是两个离散型随机变量,它们的联合分布密度为 $P(x,y)$,则给定 X 时 Y 的条件熵定义为

$$ \begin{aligned} H(Y|X) &= - \sum_{x \in X} p(x)H(Y|X = x) \\
&= \sum_{x \in X} p(x) \left [ -\sum_{y \in Y} p(y|x) \log p(y|x) \right] \\ &= -\sum_{x \in X}\sum_{y \in Y} p(x) p(y|x) \log p(y|x) \\ &= -\sum_{x \in X}\sum_{y \in Y} p(x,y) \log p(y|x) \end{aligned} $$

式中第二步可理解为:H(Y|X) 是给定 X 条件下 Y 的条件概率分布 $p(y|x)$ 的熵对 X 的数学期望

条件熵 H(Y|X) 表示在已知随机变量 X 的条件下随机变量 Y 的不确定性。

链式规则 $H(X,Y) = H(X) + H(Y|X)$

交叉熵

英文名:cross entropy

设随机变量 X 的分布密度为 $P(x)$,在很多情况下 $P(x)$ 是未知的,人们通常使用通过统计手段得到的 X 的近似分布 $Q(x)$,则随机变量 X 的交叉熵定义为

$$H(X, q) = - \sum_{x \in X} p(x) \log q(x)$$

语言L的交叉熵

$$H(L,m) = - \lim_{n \rightarrow \infty} \frac{1}{n} \sum_{x_{1n}} p(x_{1n}) \log m(x_{1n})$$

如果假定语言是稳态具各态遍历性质的随机过程,则可以作如下计算

$$H(L, m) = - \lim_{n \rightarrow \infty} \frac{1}{n} \log m(x_{1n})$$

如果n足够大,则

$$H(L, m) \approx - \frac{1}{n} \log m(x_{1n})$$

熵率

信息量的大小随着消息长度的增加而增加,为了便于比较,一般使用熵率的概念,熵率一般也称为字符熵 (per-letter entropy) 或词熵 (per-word entropy)。

$$H_{rate} = \frac{1}{n} H(X_{1n}) = - \frac{1}{n} \sum_{x_{1n}} p(x_{1n}) \log p(x_{1n})$$

语言L的熵率

$$H_{rate}(L) = \lim_{n \rightarrow \infty} \frac{1}{n}H(X_{1}, X_{2},...,X_{n})$$

汉字的熵率为9.65 bit

信息量

信息量在数学上用 $I(X) = -\log P(X)$ 表示,即

$$I(X) = \log \frac{1}{P(X)}$$

互信息(信息增益)

根据链式规则,有

$$H(X,Y) = H(X) + H(Y|X) = H(Y) + H(X|Y)$$

$$H(X) - H(X|Y) = H(Y) - H(Y|X)$$

H(Y) 和 H(Y|X) 的差称为互信息,或者叫信息增益, 一般记作I(Y;X)

$$I(X;Y) = H(X) - H(X|Y) = \sum_{x,y} p(x,y) \log \frac{p(x,y)}{p(x)p(y)}$$

I(Y;X) 表示给定 X 后 Y 的信息不确定性减少的程度

互信息性质

点间互信息

英文名:pointwise mutual information)

在计算语言学中,更为常用的是两个具体事件之间的互信息,一般称之为点间互信息

事件 x, y 之间的互信息定义为

$$I(x,y) = \log \frac{p(x,y)}{p(x)p(y)}$$

点间互信息度量两个具体事件之间的相关程度

信息增益率

X 对 Y 的信息增益率 $I_R(Y,X)$ 定义为其信息增益 $I(Y, X)$ 与 Y 关于 X 取值的熵 $H_x(Y)$ 之比

$$I_R(Y, X) = \frac{I(Y, X)}{H_x(Y)} = \frac{H(Y) - H(Y|X)}{H_x(Y)} = \frac{\sum_{x,y} p(x,y) \log \frac{p(x,y)}{p(x)p(y)}}{- \sum_{x \in X}p(y_x) \log_{a}p(y_x)} $$

$H_x(Y) = -\sum_{i=1}^{n}\frac{|Y_i|}{|Y|} \log_a\frac{|Y_i|}{|Y|}$ , n 表示 X 取值的个数,$|Y_i|$ 表示 X 取 第 i 个值时 Y 的个数

KL 散度 (相对熵)

英文名:Kullback-Leibler

Kullback-Leibler 发散度一般也称谓 相对熵(relative entropy)或KullbackLeibler 距离

设 p(x)、 q(x) 是随机变量 X 的两个不同的分布密度,则它们的 KL 散度定义为

$$D(p||q) = \sum_{x \in X} p(x) \log \frac{p(x)}{q(x)}$$

困惑度(perplexity)

语言模型的评价也可以计算困惑度,困惑度定义如下

$$PP_{p}(T) = 2^{H_{p}(T)}$$