存档

熵、信息增益、相对熵、互信息、交叉熵

2021-10-11  本文已影响0人  有机会一起种地OT

基于熵概念的一系列指标是机器学习方法中经常使用的。这里统一做一个全面的整理。(以离散随机变量形式给出)

随机变量X,熵为
H(X)=- \sum_{x\in X}p(x)\log p(x)
是其平均不确定性的度量。

联合熵

随机变量X,Y的联合分布为p(x,y),两者的联合熵为
H(X,Y)=-\sum_{x}\sum_{y}p(x,y)\log p(x,y)

条件熵

X=x条件下的Y的熵为
H(Y|X=x)=-\sum_{y}p(y|x)\log p(y|x)
条件熵是H(Y|X=x)关于X的平均值
\begin{align} H(Y|X) & =\sum_{x}p(x)H(Y|X=x) \\ &=-\sum_{x}\sum_{y}p(x,y)\log p(y|x) \\ \end{align}

一对随机变量的熵,等于其中一个变量的熵,加上另一个的条件熵
H(X,Y)=H(X)+H(Y|X)

进而可推断得到熵的链式法则
H(X_1,X_2,\cdots,X_N)=\sum_{i=1}^n H(X_i|X_{i-1},\cdots,X_1)

信息增益

对样本总体(样本量N)有多个类i=1,\cdots.k,则样本集的信息总和为(类似总体随机变量的熵)
H_m=-\sum_{i=1}^k p_i \log p_i
p_i=\frac{N_i}{N}
对样本集进行分组j=1,\cdots.n,各组的信息量为
H_{mj}=-\sum_{j=1}^l p_{ji} \log p_{ji}
p_{ji}=\frac{N_{ji}}{N_i}
各分组的信息总和则为
\begin{align} H_m^{'}& =\sum_{j=1}^lH_{mj}\frac{N_j}{N} \\ & = -\sum_{j=1}^l \frac{N_j}{N} \sum_{i=1}^k p_{ji}\log p_{ji} \\ \end{align}
H_m-H_m^{'}称信息增益,即分组后对信息的贡献程度。

相对熵

又称KL散度,反映两个概率分布之间的差异。
同一个随机变量 x 有两个单独的概率分布P(x)Q(x),例如P是总体的真是分布,Q是来自数据的理论分布,用来近似P。所以机器学习分类问题评估label与predicts差距时,常使用KL散度(进一步实际使用交叉熵,见下文)。
D(p||q)=\sum_xp(x)\log\frac{p(x)}{q(x)}

当两个随机分布相同时,相对熵为0;两者差异越大,相对熵越大。
但相对熵不满足对称性,D(p||q)\neq D(q||p),且不满足三角不等式,因此其不是一个距离测度。

互信息

一个随机变量包含的关于另一个随机变量的信息量的度量。
\begin{align} L(X;Y)&=D(p(x,y)||p(x)p(y)) \\ &=\sum_x\sum_y p(x,y)\log\frac{p(x,y)}{p(x)p(y)}\\ \end{align}
有如下性质

交叉熵

也度量两个概率分布的差异性
H(p,q)=\sum_x p(x)\log \frac1{q(x)}
是相对熵的一部分
\begin{align} D(p||q)&=\sum_x p(x)\log p(x) + H(p,q)\\ &=H(p(x)) + H(p,q)\\ \end{align}
在机器学习分类问题评估label与predicts之间差距时,常直接用交叉熵作为损失函数,而不是KL散度,因为H(p(x))是不变的。

上一篇 下一篇

猜你喜欢

热点阅读