信息论使用信息熵的概念,对单个信号源的信息量和通讯中传递的信息的数量与效率等问题做出了解释, 并在世界的不确定性和信息的可测量性之间搭起一座桥梁。 表示一个系统内在的混乱程度。

事件$A$发生的概率为$p(A)$,则这个事件的自信息量定义为 \(h(A) = -\log_2p(A)\)

根据单个事件的自信息量可以计算出包含多个符号的信源的信息熵。信源的信息熵是信源可能发出的各个符号的自信息量在信源构成的概率空间上的统计平均值。 如果一个信源$X$包含$n$个符号,每个符号$a_i$的取值为$p(a_i)$,则$X$的信源熵为 \(H(X) = -\sum_{i=1}^np(a_i)\log_2p(a_i)\) 信源熵描述了信源每发送一个符号所提供的平均信息量,是信源总体信息测度的均值。当信源中的每个符号的取值概率相等时,信源熵取到最大值$\log_2​n$,意味着信源的随机程度最高。

在概率论中有条件概率的概念,将条件概率扩展到信息论中,就可以得到条件熵。如果两个信源之间具有相关性,那么在已知其中一个信源$X$的条件下,另一个信源$Y$的信源熵就会减小。 条件熵$H(Y∣X)$表示的是在已知随机变量$X$的条件下另一个随机变量$Y$的不确定性,也就是在给定$X$时,根据$Y$的条件概率计算出的熵再对$X$求解数学期望:

\[H(Y|X) = \sum_{i=1}^np(x_i)H(Y|X=x_i) \\ = -\sum_{i=1}^np(x_i)\sum_{j=1}^mp(y_j|x_i)\log_2p(y_j|x_i) \\ = -\sum_{i=1}^n\sum_{j=1}^mp(x_i,y_j)\log_2p(y_j|x_i)\]

条件熵的意义在于先按照变量$X$的取值对变量$Y$进行了一次分类,对每个分出来的类别计算其单独的信息熵,再将每个类的信息熵按照$X$的分布计算其数学期望。分类带来不确定性下降。

定义了条件信息熵后,就可以进一步得到互信息的概念 \(I(X;Y) = H(Y)-H(Y|X)\) 互信息等于$Y$的信源熵减去已知$X$时$Y$的条件熵,即由$X$提供的关于$Y$的不确定性的消除,也可以看成是$X$给$Y$带来的信息增益。互信息这个名称在通信领域经常使用,信息增益则在机器学习领域中经常使用,两者的本质是一样的。

在机器学习中,信息增益常常被用于分类特征的选择。对于给定的训练数据集$Y$,$H(Y)$表示在未给定任何特征时,对训练集进行分类的不确定性;$H(Y∣X)$则表示了使用特征$X$对训练集$Y$进行分类的不确定性。信息增益表示的就是特征$X$带来的对训练集$Y$分类不确定性的减少程度,也就是特征$X$对训练集$Y$的区分度。

显然,信息增益更大的特征具有更强的分类能力。但信息增益的值很大程度上依赖于数据集的信息熵$H(Y)$,因而并不具有绝对意义。为解决这一问题,研究者又提出了信息增益比的概念,并将其定义为$g(X,Y)=I(X;Y)/H(Y)$。

在机器学习中经常使用的信息论概念叫作Kullback-Leibler散度,简称KL散度。KL散度是描述两个概率分布$P$和$Q$之间的差异的一种方法,其定义为\(D_{KL}​(P∣∣Q)=\sum_{i=1}^n​p(x_i​)\log_2\frac{p(x_i​)}{​q(x_i​)}\)​

信息论中还有一个重要定理,叫作“最大熵原理”。最大熵原理是确定随机变量统计特性时力图最符合客观情况的一种准则。对于一个未知的概率分布,最坏的情况就是它以等可能性取到每个可能的取值。这个时候的概率分布最均匀,也就是随机变量的随机程度最高,对它进行预测也就最困难。

将最大熵原理应用到分类问题上就可以得到最大熵模型。在分类问题中,首先要确定若干特征函数作为分类的依据。为了保证特征函数的有效性,其在模型真实分布$P(X)$上的数学期望和在由训练数据集推导出的经验分布$\widetilde{P}(X)$上的数学期望应该相等,即对给定特征函数数学期望的估计应该是个无偏估计量。

这样一来,每一个特征函数就对应了一个约束条件。分类的任务就是在这些约束条件下,确定一个最好的分类模型。由于除了这些约束条件之外,没有任何关于分类的先验知识,因而需要利用最大熵原理,求解出不确定性最大的条件分布,即让以下函数的取值最大化\(H(p)=−\sum_{x,y}\widetilde{p}​(x)p(y∣x)\log_2​p(y∣x)\) 式中的$p(y∣x)$就是分类问题要确定的目标条件分布。计算上式的最大值实质上就是一个约束优化问题,由特征函数确定的约束条件可以通过拉格朗日乘子的引入去除其影响,转化为无约束优化问题。从数学上可以证明,这个模型的解是存在且唯一的。


宝贝


乌托邦

xl

Stay hungry, Stay foolish.