空投资讯追踪

在信息论和机器学习中,“熵”是一个核心概念,用来衡量随机变量的不确定性或信息量的大小。不同类型的熵用于描述不同的场景和应用,常见的包括熵、联合熵、条件熵、相对熵(KL散度)、交叉熵等。本文将系统地介绍这些熵的定义、公式、应用、计算示例。

1. 熵(Entropy)

熵是信息论中最基础的概念,用于描述一个随机变量的不确定性。由香农(Claude Shannon)在1948年提出,熵被定义为随机变量的自信息(即信息量)的数学期望。

公式:

H(X)=−∑x∈XP(x)log⁡P(x)

H(X) = - \sum_{x \in \mathcal{X}} P(x) \log P(x)

H(X)=−x∈X∑​P(x)logP(x)

解释:

XXX:随机变量,取值集合为 X\mathcal{X}X。P(x)P(x)P(x):XXX 取值 xxx 的概率。−log⁡P(x)-\log P(x)−logP(x):X=xX = xX=x 时的信息量(自信息)。

直观意义:

如果 XXX 的分布越均匀,熵越大(不确定性高)。如果 XXX 的分布越集中(某些值概率接近 1),熵越小(不确定性低)。

应用:

在数据压缩中,用于衡量最小编码长度。在机器学习中,用于决策树等模型的特征选择(信息增益)。

例子:

假设 XXX 是一个骰子投掷的结果,可能的取值为 {1,2,3,4,5,6}\{1, 2, 3, 4, 5, 6\}{1,2,3,4,5,6},并且是均匀分布的:

P(x)=16,∀x∈{1,2,3,4,5,6}

P(x) = \frac{1}{6}, \quad \forall x \in \{1, 2, 3, 4, 5, 6\}

P(x)=61​,∀x∈{1,2,3,4,5,6}

计算熵:

H(X)=−∑x=16P(x)log⁡P(x)=−∑x=1616log⁡16

H(X) = - \sum_{x=1}^6 P(x) \log P(x) = - \sum_{x=1}^6 \frac{1}{6} \log \frac{1}{6}

H(X)=−x=1∑6​P(x)logP(x)=−x=1∑6​61​log61​

H(X)=−6⋅16⋅log⁡16=log⁡6≈2.585

H(X) = -6 \cdot \frac{1}{6} \cdot \log \frac{1}{6} = \log 6 \approx 2.585

H(X)=−6⋅61​⋅log61​=log6≈2.585

说明:

骰子是完全随机的,结果的不确定性最大,因此熵达到其最大值。

2. 联合熵(Joint Entropy)

联合熵描述两个随机变量 XXX 和 YYY 的联合不确定性。

公式:

H(X,Y)=−∑x∈X∑y∈YP(x,y)log⁡P(x,y)

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

H(X,Y)=−x∈X∑​y∈Y∑​P(x,y)logP(x,y)

解释:

P(x,y)P(x, y)P(x,y):联合分布,表示 X=xX = xX=x 和 Y=yY = yY=y 同时发生的概率。联合熵衡量的是 XXX 和 YYY 的联合信息量。

直观意义:

当 XXX 和 YYY 独立时,联合熵等于两者熵之和:

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

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

H(X,Y)=H(X)+H(Y)当 XXX 和 YYY 完全相关时,联合熵等于单个变量的熵。

应用:

用于多变量系统的整体不确定性分析。

例子:

假设 XXX 和 YYY 是两个投硬币的结果:

X,Y∈{正,反}X, Y \in \{\text{正}, \text{反}\}X,Y∈{正,反};

联合分布:

P(X,Y)={0.25,(X,Y)=(正,正)0.25,(X,Y)=(正,反)0.25,(X,Y)=(反,正)0.25,(X,Y)=(反,反)

P(X, Y) = \begin{cases}

0.25, & (X, Y) = (\text{正}, \text{正}) \\

0.25, & (X, Y) = (\text{正}, \text{反}) \\

0.25, & (X, Y) = (\text{反}, \text{正}) \\

0.25, & (X, Y) = (\text{反}, \text{反})

\end{cases}

P(X,Y)=⎩⎨⎧​0.25,0.25,0.25,0.25,​(X,Y)=(正,正)(X,Y)=(正,反)(X,Y)=(反,正)(X,Y)=(反,反)​

计算联合熵:

H(X,Y)=−∑x,yP(x,y)log⁡P(x,y)

H(X, Y) = -\sum_{x, y} P(x, y) \log P(x, y)

H(X,Y)=−x,y∑​P(x,y)logP(x,y)

H(X,Y)=−4⋅0.25⋅log⁡0.25=−log⁡0.25=2

H(X, Y) = -4 \cdot 0.25 \cdot \log 0.25 = -\log 0.25 = 2

H(X,Y)=−4⋅0.25⋅log0.25=−log0.25=2

说明:

两次投硬币是独立的,因此 XXX 和 YYY 的联合熵是两次单独投掷熵的和。

3. 条件熵(Conditional Entropy)

条件熵表示在已知 XXX 的情况下,YYY 的不确定性。它衡量的是条件概率分布的熵。

公式:

H(Y∣X)=−∑x∈XP(x)∑y∈YP(y∣x)log⁡P(y∣x)

H(Y|X) = -\sum_{x \in \mathcal{X}} P(x) \sum_{y \in \mathcal{Y}} P(y|x) \log P(y|x)

H(Y∣X)=−x∈X∑​P(x)y∈Y∑​P(y∣x)logP(y∣x)

解释:

P(x)P(x)P(x):边缘分布,表示 X=xX = xX=x 的概率。P(y∣x)P(y|x)P(y∣x):条件概率,表示 Y=yY = yY=y 在 X=xX = xX=x 时的概率。

性质:

条件熵与联合熵的关系:

H(X,Y)=H(X)+H(Y∣X)

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

H(X,Y)=H(X)+H(Y∣X)条件熵的值越低,表示 YYY 在已知 XXX 时的确定性越高。

应用:

在决策树中,条件熵用于计算信息增益,帮助选择最优分割。

例子:

假设一个天气系统:

XXX:天气(晴、雨),分布 P(X)={0.6,0.4}P(X) = \{0.6, 0.4\}P(X)={0.6,0.4};

YYY:心情(好、差),条件分布 P(Y∣X)P(Y|X)P(Y∣X):

P(Y∣X)={P(好∣晴)=0.8,P(差∣晴)=0.2P(好∣雨)=0.3,P(差∣雨)=0.7

P(Y|X) = \begin{cases}

P(\text{好}|\text{晴}) = 0.8, & P(\text{差}|\text{晴}) = 0.2 \\

P(\text{好}|\text{雨}) = 0.3, & P(\text{差}|\text{雨}) = 0.7

\end{cases}

P(Y∣X)={P(好∣晴)=0.8,P(好∣雨)=0.3,​P(差∣晴)=0.2P(差∣雨)=0.7​

计算条件熵:

H(Y∣X)=−∑xP(x)∑yP(y∣x)log⁡P(y∣x)

H(Y|X) = -\sum_{x} P(x) \sum_{y} P(y|x) \log P(y|x)

H(Y∣X)=−x∑​P(x)y∑​P(y∣x)logP(y∣x)

逐项计算:

H(Y∣X)=−[0.6(0.8log⁡0.8+0.2log⁡0.2)+0.4(0.3log⁡0.3+0.7log⁡0.7)]

H(Y|X) = -[0.6(0.8 \log 0.8 + 0.2 \log 0.2) + 0.4(0.3 \log 0.3 + 0.7 \log 0.7)]

H(Y∣X)=−[0.6(0.8log0.8+0.2log0.2)+0.4(0.3log0.3+0.7log0.7)]

H(Y|X) ≈ -[0.6(-0.257) + 0.4(-0.362)] = 0.308

H(Y∣X)≈−[0.6(−0.722)+0.4(−0.881)]=0.786

H(Y|X) \approx -[0.6(-0.722) + 0.4(-0.881)] = 0.786

H(Y∣X)≈−[0.6(−0.722)+0.4(−0.881)]=0.786

说明:

在已知天气的情况下,心情的不确定性减少了。

4. 相对熵(Relative Entropy 或 KL 散度)

相对熵,又称为KL散度(Kullback-Leibler Divergence),用于衡量两个概率分布 PPP 和 QQQ 的差异。

公式:

DKL(P∥Q)=∑x∈XP(x)log⁡P(x)Q(x)

D_{\text{KL}}(P \| Q) = \sum_{x \in \mathcal{X}} P(x) \log \frac{P(x)}{Q(x)}

DKL​(P∥Q)=x∈X∑​P(x)logQ(x)P(x)​

解释:

P(x)P(x)P(x):目标分布。Q(x)Q(x)Q(x):参考分布。相对熵表示 QQQ 表达 PPP 时所损失的信息。

性质:

DKL(P∥Q)≥0D_{\text{KL}}(P \| Q) \geq 0DKL​(P∥Q)≥0,且仅当 P=QP = QP=Q 时等于 0。

应用:

用于优化概率模型(如最大似然估计)。在深度学习中用于衡量预测分布和目标分布的差异。

例子:

假设:

目标分布 P(x)={0.8,0.2}P(x) = \{0.8, 0.2\}P(x)={0.8,0.2};参考分布 Q(x)={0.5,0.5}Q(x) = \{0.5, 0.5\}Q(x)={0.5,0.5}。

计算KL散度:

DKL(P∥Q)=∑xP(x)log⁡P(x)Q(x)

D_{\text{KL}}(P \| Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)}

DKL​(P∥Q)=x∑​P(x)logQ(x)P(x)​

DKL(P∥Q)=0.8log⁡0.80.5+0.2log⁡0.20.5

D_{\text{KL}}(P \| Q) = 0.8 \log \frac{0.8}{0.5} + 0.2 \log \frac{0.2}{0.5}

DKL​(P∥Q)=0.8log0.50.8​+0.2log0.50.2​

DKL(P∥Q)=0.8log⁡1.6+0.2log⁡0.4≈0.257+(−0.161)=0.096

D_{\text{KL}}(P \| Q) = 0.8 \log 1.6 + 0.2 \log 0.4 \approx 0.257 + (-0.161) = 0.096

DKL​(P∥Q)=0.8log1.6+0.2log0.4≈0.257+(−0.161)=0.096

说明:

PPP 和 QQQ 的差异较小,因此 KL 散度较低。

5. 交叉熵(Cross Entropy)

交叉熵是用一个分布 QQQ 去估计目标分布 PPP 的总信息量。

公式:

H(P,Q)=−∑x∈XP(x)log⁡Q(x)

H(P, Q) = -\sum_{x \in \mathcal{X}} P(x) \log Q(x)

H(P,Q)=−x∈X∑​P(x)logQ(x)

解释:

交叉熵可以分解为熵和相对熵:

H(P,Q)=H(P)+DKL(P∥Q)

H(P, Q) = H(P) + D_{\text{KL}}(P \| Q)

H(P,Q)=H(P)+DKL​(P∥Q)H(P)H(P)H(P):PPP 的熵,表示 PPP 的固有不确定性;

DKL(P∥Q)D_{\text{KL}}(P \| Q)DKL​(P∥Q):描述 QQQ 相较于 PPP 的额外信息损失。

应用:

在机器学习中,交叉熵是分类问题的常见损失函数,尤其是在深度学习中,用于优化分类模型。

例子:

目标分布 P(x)={0.8,0.2}P(x) = \{0.8, 0.2\}P(x)={0.8,0.2},估计分布 Q(x)={0.5,0.5}Q(x) = \{0.5, 0.5\}Q(x)={0.5,0.5}。

计算交叉熵:

H(P,Q)=−∑xP(x)log⁡Q(x)

H(P, Q) = -\sum_{x} P(x) \log Q(x)

H(P,Q)=−x∑​P(x)logQ(x)

H(P,Q)=−(0.8log⁡0.5+0.2log⁡0.5)

H(P, Q) = -(0.8 \log 0.5 + 0.2 \log 0.5)

H(P,Q)=−(0.8log0.5+0.2log0.5)

H(P,Q)=−(0.8⋅−1+0.2⋅−1)=1

H(P, Q) = -(0.8 \cdot -1 + 0.2 \cdot -1) = 1

H(P,Q)=−(0.8⋅−1+0.2⋅−1)=1

说明:

Q(x)Q(x)Q(x) 对 P(x)P(x)P(x) 的拟合能力较差,因此交叉熵较高。

6. 信息增益(Information Gain)

信息增益是熵的一个延伸概念,用于衡量一个变量对另一个变量信息量的贡献。

公式:

IG(Y∣X)=H(Y)−H(Y∣X)

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

IG(Y∣X)=H(Y)−H(Y∣X)

解释:

H(Y)H(Y)H(Y):分割前 YYY 的熵。H(Y∣X)H(Y|X)H(Y∣X):分割后 YYY 的条件熵。

应用:

在决策树中,信息增益用于选择最优分割点。

例子:

延续天气和心情的例子:

P(Y) = {0.5, 0.5} ;H(Y)=− ∑_y P(y)logP(y)=1 ;已计算出 H(Y|X) = 0.308 。P(Y)={0.6,0.4}P(Y) = \{0.6, 0.4\}P(Y)={0.6,0.4};H(Y)=−∑yP(y)log⁡P(y)=0.971H(Y) = -\sum_{y} P(y) \log P(y) = 0.971H(Y)=−∑y​P(y)logP(y)=0.971;已计算出 H(Y∣X)=0.786H(Y|X) = 0.786H(Y∣X)=0.786。

信息增益:

IG(Y∣X)=H(Y)−H(Y∣X)=0.971−0.786=0.185

IG(Y|X) = H(Y) - H(Y|X) = 0.971 - 0.786 = 0.185

IG(Y∣X)=H(Y)−H(Y∣X)=0.971−0.786=0.185

说明:

天气 XXX 对心情 YYY 提供了 0.692 0.185 的信息量。

7. 联合交叉熵

联合交叉熵描述两个联合分布的匹配程度。

公式:

H(P(x,y),Q(x,y))=−∑x,yP(x,y)log⁡Q(x,y)

H(P(x, y), Q(x, y)) = -\sum_{x, y} P(x, y) \log Q(x, y)

H(P(x,y),Q(x,y))=−x,y∑​P(x,y)logQ(x,y)

解释:

用 Q(x,y)Q(x, y)Q(x,y) 去拟合 P(x,y)P(x, y)P(x,y) 的信息量。在联合分布的场景中常用。

8. 最大熵(Maximum Entropy)

最大熵原理提出:在满足已知约束的情况下,选择熵最大的概率分布,以避免引入额外假设。

公式:

最大化:

H(P)=−∑xP(x)log⁡P(x)

H(P) = -\sum_{x} P(x) \log P(x)

H(P)=−x∑​P(x)logP(x)

约束:

EP[fi(x)]=μi,∑xP(x)=1

\mathbb{E}_P[f_i(x)] = \mu_i, \quad \sum_{x} P(x) = 1

EP​[fi​(x)]=μi​,x∑​P(x)=1

应用:

在机器学习中,用于构建最大熵模型(如条件随机场)。

总结与比较

类型定义公式描述常见应用熵H(X)=−∑P(x)log⁡P(x)H(X) = -\sum P(x) \log P(x)H(X)=−∑P(x)logP(x)衡量单变量的不确定性信息压缩、特征选择联合熵H(X,Y)=−∑P(x,y)log⁡P(x,y)H(X, Y) = -\sum P(x, y) \log P(x, y)H(X,Y)=−∑P(x,y)logP(x,y)衡量两个变量的联合不确定性多变量系统分析条件熵H(Y∣X)=−∑P(x)P(y∣x)log⁡P(y∣x)H(Y|X) = -\sum P(x)P(y|x) \log P(y|x)H(Y∣X)=−∑P(x)P(y∣x)logP(y∣x)给定 XXX 后 YYY 的不确定性决策树、信息增益计算相对熵DKL(P∣Q)=∑P(x)log⁡P(x)Q(x)D_{\text{KL}}(P | Q) = \sum P(x) \log \frac{P(x)}{Q(x)}DKL​(P∣Q)=∑P(x)logQ(x)P(x)​两分布差异的度量模型优化、分布拟合交叉熵H(P,Q)=−∑P(x)log⁡Q(x)H(P, Q) = -\sum P(x) \log Q(x)H(P,Q)=−∑P(x)logQ(x)用 QQQ 表达 PPP 的信息量分类问题中的损失函数信息增益IG(Y∣X)=H(Y)−H(Y∣X)IG(Y|X) = H(Y) - H(Y|X)IG(Y∣X)=H(Y)−H(Y∣X)测量 XXX 对 YYY 的贡献决策树分裂点选择最大熵模型max⁡H(P)\max H(P)maxH(P)最大化熵以避免引入多余假设条件概率建模通过熵及其衍生概念,信息论提供了丰富的工具来处理随机性和不确定性问题。这些工具在机器学习、自然语言处理和数据分析等领域中广泛应用。