1 信息量
- 定义:信息量是对信息的度量。 就跟时间的度量是秒同样,当咱们考虑一个离散的随机变量x的时候,当咱们观察到的这个变量的一个具体值的时候,咱们接收到了多少信息呢?
- 多少信息用信息量来衡量,咱们接受到的信息量跟具体发生的事件有关。
- 信息的大小跟随机事件的几率有关。 越小几率的事情发生了产生的信息量越大,如湖南产生的地震了;越大几率的事情发生了产生的信息量越小,如太阳从东边升起来了,其实表明着没有任何信息量。
- 一个具体事件的信息量应该是随着其发生几率而递减的,且不能为负。
- 若是咱们有俩个不相关的事件x和y,那么咱们观察到的俩个事件同时发生时得到的信息应该等于观察到的事件各自发生时得到的 信息之和,即: $h(x,y) = h(x) + h(y)$.
- 因为x,y是俩个不相关的事件,那么知足 $p(x,y)=p(x)p(y)$. 根据上面推导,能够看出: $h(x)$ 必定与$p(x)$的对数有关,所以咱们有信息量公式以下: $h(x) = -\log_2p(x)$.
- 思考两个问题:
2 信息熵
- 定义:用来度量信息的不肯定程度。
- 解释: 熵越大,信息量越大。不肯定程度越低,熵越小,好比“明天太阳从东方升起”这句话的熵为0,由于这个句话没有带有任何信息,它描述的是一个肯定无疑的事情。
- 公式: $$H(X) = -\sum_{i=1}^n p(x_i)\log{p(x_i)}$$
2.1 举个例子
- 题目:假设有随机变量X,用来表达明每天气的状况。X可能出现三种状态 1) 晴天2) 雨天 3)阴天。每种状态的出现几率均为P(i) = 1/3,那么根据熵的公式,能够计算获得:$H(X) = - 1/3 * log(1/3) - 1/3 * log(1/3) - 1/3 * log(1/3) = 0.47712(10为底)$。若是log以2为底获得的结果是1.58496。
- 关于“熵”不一样的教材会有所区别,例如二、十、e为底,事实上影响的是“单位”,为了统一单位,使用换底公式进行调换。
- 若是这三种状态出现的几率为(0.1, 0.1, 0.8), 那么 $H(X) = -0.1 * log(0.1) * 2 - 0.8 * log(0.8) = 0.27753$,以2为底的结果是:0.92193。
- 能够发现前面一种分布X的不肯定程度很高,每种状态都颇有可能。后面一种分布,X的不肯定程度较低,第三种状态有很大几率会出现。 因此对应前面一种分布,熵值很高,后面一种分布,熵值较低(2为底)。
- 信息熵还能够做为一个系统复杂程度的度量,若是系统越复杂,出现不一样状况的种 类越多,那么他的信息熵是比较大的。若是一个系统越简单,出现状况种类不多(极端状况为1种状况,那么对应几率为1, 那么对应的信息熵为0),此时的信息熵较小。
3 条件熵
- 在一个条件下,随机变量的不肯定性。
- $H(X|Y) = -\sum_{x=0,1,2;y=0,1}^{x,y}p(x,y)\log{p(x|y)}$。
- 具备前后性。
4 信息增益
- 信息增益 = 熵 - 条件熵。
- 信息增益越大,机器学习越精准,loss越小。
- 信息增益的应用: 咱们在利用进行分类的时候,经常选用信息增益更大的特征,信息增益大的特征对分类来讲更加剧要。决策树就是经过信息增益来构造的,信息增益大的特征每每被构形成底层的节点。
5 互信息
- 定义:指两个随机变量之间的相关程度。
- 理解:肯定随机变量X的值后,另外一个随机变量Y不肯定性的削弱程度,于是互信息取值 最小为0,意味着给定一个随机变量对肯定一另外一个随机变量没有关系,最大取值为随机变量的熵,意味着给定一个随机变量,能彻底消除另外一个随机变量的不肯定性。这个概念和条件熵相对。
- 公式:$I(X;Y)=H(X)-H(X|Y)$
- 通过推导后,咱们能够直观地看到H(X)表示为原随机变量X的信息量,H(X|Y)为 知道事实Y后X的信息量,互信息I(X;Y)则表示为知道事实Y后,原来信息量减小 了多少。
- 假设X,Y彻底无关,H(X) = H(X|Y) , 那么I(X;Y) = 0 假设X,Y彻底相关,H(X|Y) =0, 那么I(X;Y) = H(X) 条件熵越大,互信息越小,条件熵越小,互信息越大。
- 互信息和信息增益实际是同一个值。

6 交叉熵
- 若是使用估计的分布q来表示来自真实分布p的平均编码长度,则:
- $H(p,q)=-\sum_{x}p(y)\log{q(x)}$.
- 注意与联合熵区别。
- 假如X为一组已知的输入特征值,Y为一组已知的输出分类。优化的目标是为了找到一个映射模型F, 使得预测值Y_ = F(X)与真值Y最类似。但现实世界的Y和Y_的分布确定不是彻底一致的。 因此:
- Y 服从p分布(即真实分布)。
- Y_ 服从q分布。
- 交叉熵cross_entropy即为描述p,q两个分布差别性的指标。
- 由于咱们编码的样原本自于真实的分布p,因此乘的是真实几率。在图像分类的时候, 好比softmax分类器,在训练的时候,咱们已经给定图像的标签,因此这个时候每幅图 片的真实几率就是1,这个时候的损失函数就是: $$ H(p,q) = -\sum_i\log(q_i) $$
- 交叉熵要大于等于真实分布的信息熵(最优编码)。
思考:
根据上面的叙述,咱们了解到:信息论中,对于孤立的一个随机变量咱们能够用熵来量化;对于两个随机变量有依赖关系,咱们能够用互信息来量化。那么:对于两个随机变量之间相差多少?也就是说,这两个随机变量的分布函数类似吗?若是不类似,那么它们之间差能够量化吗?
7 相对熵
- 由交叉熵可知,用估计的几率分布所需的编码长度,比真实分布的编码长,可是 长多少呢?这个就须要另外一个度量,相对熵,也称KL散度。
- 公式: $D(p||q)=H(p,q)-H(p)=\sum_{i=1}^n p_i\log{\frac{p_i}{q_i}}$
8 总结
- 信息熵是衡量随机变量分布的混乱程度,是随机分布各事件发生的信息量的指望值, 随机变量的取值个数越多,状态数也就越多,信息熵就越大,混乱程度就越大。当随机分布为均匀分布时,熵最大;信息熵推广到多维领域,则可获得联合信息熵H(X,Y); 条件熵表示的是在X给定条件下,Y的条件几率分布的熵对X的指望。
- 交叉熵能够来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不肯定性所须要付出的努力的大小。
- 相对熵能够用来衡量两个几率分布之间的差别。 或者:
- 信息熵是传输一个随机变量状态值所需的比特位下界(最短平均编码长度)。
- 交叉熵是指用分布q来表示真实分布p的平均编码长度。
- 相对熵是指用分布q来表示分布p额外须要的编码长度。