
信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。信息论中包含的知识和概念在机器学习中也有应用,典型的例子是其核心思想『熵』的应用。
例如,决策树模型ID3、C4.5中是利用信息增益来确定划分特征而逐步生长和构建决策树的;其中,信息增益就是基于信息论中的熵。
1.熵(Entropy)
熵是1854年由克劳休斯提出的一个用来度量体系混乱程度的单位,并阐述了热力学第二定律熵增原理:在孤立系统中,体系与环境没有能量交换,体系总是自发的向混乱度增大的方向变化,使整个系统的熵值越来越大。
熵越大,表征的随机变量的不确定度越大,其含有的信息量越多。

随机变量X可能的取值为{x1,x2,…,xn},其概率分布为P(X=xi)=pi,i=1,2,…,n,则随机变量X的熵定义为H(X):
H(X)=−i=1∑nP(xi)logP(xi)=i=1∑nP(xi)logP(xi)1
2.联合熵(Joint Entropy )

联合熵,就是度量一个联合分布的随机系统的不确定度。分布为P(x,y)的一对随机变量(X,Y),其联合熵定义为:
H(X,Y)=−i=1∑nj=1∑nP(xi,yj)logP(xi,yj)=E[logp(x,y)1]
联合熵的物理意义,是观察一个多随机变量的随机系统获得的信息量,是对二维随机变量(X,Y)不确定性的度量。
3.条件熵(Conditional Entropy)
Y的条件熵是指『在随机变量X发生的前提下,随机变量Y发生新带来的熵』,用H(Y∣X)表示:
H(Y∣X)=−x,y∑P(x,y)logP(y∣x)

条件熵的物理意义,在得知某一确定信息的基础上获取另外一个信息时所获得的信息量,用来衡量在已知随机变量的X条件下,随机变量Y的不确定性。
4.相对熵(Kullback–Leibler divergence)
相对熵在信息论中用来描述两个概率分布差异的熵,叫作KL散度、相对熵、互熵、交叉熵、信息增益。对于一个离散随机变量的两个概率分布P和Q来说,它们的相对熵定义为:
D(P∣∣Q)=i=1∑nP(xi)logQ(xi)P(xi)

注意:公式中P表示真实分布,Q表示P的拟合分布,D(P∣∣Q)=D(Q∣∣P)
相对熵表示当用概率分布Q来拟合真实分布P时,产生的信息损耗。
5.交叉熵(Cross Entropy)

交叉熵在信息论中用于度量两个概率分布间的差异性。将上述相对熵(KL散度)公式拆开,可以得到 相对熵=交叉熵-熵。
D(P∣∣Q)=i=1∑nP(xi)log(Q(xi)P(xi))=i=1∑nP(xi)log(P(xi))−i=1∑nP(xi)log(Q(xi))=−H(P(x))+[−i=1∑nP(xi)log(Q(xi))]
因此,对于一个离散随机变量的两个概率分布 P 和 Q 来说,它们的交叉熵定义为:
H(P,Q)=−i=1∑nP(xi)log(Q(xi))
使用机器学习训练网络时,输入数据与标签通常是确定的。那么,真实概率分布 P(x) 是确定的,因此熵 H(P(x)) 是一个可以确定的常量。
由上述推导可得,交叉熵 = 相对熵+熵 = 相对熵+一个常量。所以交叉熵也可以用来描述真实概率分布 P(x) 与预测概率分布 Q(x) 的差异(值越小表示预测结果越好),且交叉熵的计算公式更简单。因此在机器学习中,通常使用交叉熵损失函数来计算Loss。
6.互信息(Mutual Information)
互信息是信息论里一种有用的信息度量方式,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
互信息的计算方式定义如下:
I(X,Y)=x∈X∑y∈Y∑P(x,y)logP(x)P(y)P(x,y)

7.常用等式(useful equations)
1)条件熵、联合熵与熵之间的关系
H(Y∣X)=H(X,Y)−H(X)
推导过程如下:
H(X,Y)−H(X)=−x,y∑p(x,y)logp(x,y)+x∑p(x)logp(x)=−x,y∑p(x,y)logp(x,y)+x∑(y∑p(x,y))logp(x)=−x,y∑p(x,y)logp(x,y)+x,y∑p(x,y)logp(x)=−x,y∑p(x,y)logp(x)p(x,y)=−x,y∑p(x,y)logp(y∣x)
-
第二行推到第三行的依据是边缘分布P(x)等于联合分布P(x,y)的和;
-
第三行推到第四行的依据是把公因子logP(x)乘进去,然后把x,y写在一起;
-
第四行推到第五行的依据是:因为两个σ都有P(x,y),故提取公因子P(x,y)放到外边,然后把里边的−(logP(x,y)−logP(x))写成−log(P(x,y)/P(x));
-
第五行推到第六行的依据是:P(x,y)=P(x)∗P(y∣x),故P(x,y)/P(x)=P(y∣x)。
2)条件熵、联合熵与互信息之间的关系
H(Y∣X)=H(Y)−I(X,Y)
推导过程如下:
H(Y)−I(X,Y)=−y∑p(y)logp(y)−x,y∑p(x,y)logp(x)p(y)p(x,y)=−y∑(x∑p(x,y))logp(y)−x,y∑p(x,y)logp(x)p(y)p(x,y)=−x,y∑p(x,y)logp(y)−x,y∑p(x,y)logp(x)p(y)p(x,y)=−x,y∑p(x,y)logp(x)p(x,y)=−x,y∑p(x,y)logp(y∣x)=H(Y∣X)
3)互信息的定义

由上方的两个公式
-
H(Y∣X)=H(Y)−I(X,Y)
-
H(Y∣X)=H(X,Y)−H(X)
可以推出I(X,Y)=H(X)+H(Y)−H(X,Y),此结论被多数文献作为互信息的定义
8.最大熵模型(Max Entropy Model)
机器学习领域,概率模型学习过程中有一个最大熵原理,即学习概率模型时,在所有可能的概率分布中,熵最大的模型是最好的模型。
通常用约束条件来确定模型的集合,所以最大熵模型原理也可以表述为:在满足约束条件的模型集合中,选取熵最大的模型。
前面我们知道,若随机变量X的概率分布是P(xi),其熵的定义如下:
H(X)=−i=1∑nP(xi)logP(xi)=i=1∑nP(xi)logP(xi)1

熵满足下列不等式:0≤H(X)≤log∣X∣
- ∣X∣是X的取值个数
- 当且仅当X的分布是均匀分布时,右边的等号成立;也就是说,当X服从均匀分布时,熵最大。
直观地看,最大熵原理认为:
- 要选择概率模型,首先必须满足已有的事实,即约束条件;
- 在没有更多信息的情况下,那些不确定的部分都是『等可能的』。最大熵原理通过熵的最大化来表示等可能性;『等可能』不易操作,而熵则是一个可优化的指标。
ShowMeAI相关文章推荐
ShowMeAI系列教程推荐
