基础课学习笔记-信息论

一 序

    本文属于基础课学习笔记系列。信息论处理的是客观世界中的不确定性。

香农在《通信的数学理论》,提到“通信的基本问题是在一点精确地或近似地复现在另一点所选取的消息”。

信息是抽象的,很难量化度量。香农提出了“信息熵”的 概念,信息熵是信源可能发出的各个符号的自信息量在信源构成的概率空间上的统计平均值。

信息熵再世界的不确定性和信息的可测量性之间架起一座桥梁。

在生活中,信息的载体是消息。
不同的消息带来的信息在直观感觉上不是完全相同的,比如“国足获得世界冠军”比“国乒获得世界冠军”的信息要大得多。
因为前者是小概率事件,而后者我们已经习以为常。不确定性越大的消息提供的信息量越大。因此基于不确定性来度量信息是一种合理的方式。

二  基础定义

一个系统内在的混乱程度。

信息量

信息多少的量度
在信息论中,如果事件A发生的概率为P(A),则这个事件的自信息量定义为

h(A)= -log_2P(A)

 

比如:当国足闯入世界杯决赛圈,夺冠的赔率是1:1000,代入式子计算出的\frac{1}{1000}得出信息量约为10比特.

而假设国乒夺冠的赔率是1:2,得出的信息量约为1,也能反映出两者的悬殊。

信息熵

信息熵是信源可能发出的各个符号的自信息量在信源构成的概率空间上的统计平均值。
根据单个事件的自信息量可以计算包含各个符号的信源的信息熵。如果一个离散信源X包含n个符号,每个符号a_i的取值为p(a_i),则X 的信息熵为

H(X)=- \sum _{i=1}^np(a_i)log_2p(a_i)

 

其中负号是用来保证信息量是正数或者零.而 𝑙𝑜𝑔 函数基的选择是任意的(信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为奈特nats).随机变量的取值个数越多,状态数也就越多,信息熵就越大,混乱程度就越大。当随机分布为均匀分布时,熵最大.  有证明最大值为logn.

条件熵

从概率论中的条件概率,扩展到信息论中,就可以得到条件熵。如果两个信源之间具有相关性,那么在已知其中一个信源X的条件下,另一个信源Y的信息熵就会减少。

条件熵 H(Y|X)示在已知随机变量X 的条件下随机变量Y 的不确定性。也就是定义为 X给定条件下,Y的条件概率分布的熵对X的数学期望:

H(Y|X)= \sum _{i=1}^n p(x_i)H(Y|X=x_i)

=-\sum _{i=1}^n p(x_i)\sum _{j=1}^m p(y_j|x_i)logp(y_j|x_i)  把H(X)公式代入

=-\sum_{i=1}^{n} \sum _{j=1}^{m}p(x_i,y_j)logp(y_j|x_i)

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

以上课为例 ,学生随便座,其信息熵就会比较大。如果做个限制,左侧做男生右侧做女生,虽然左右内部容然是随机的的,但是分类带来了不确定性的下降。

互信息

  I(X;Y)= H(Y)-H(Y|X)

互信息等于Y的信息熵减去已知X时Y的条件熵,即由X提供的关于Y的不确定性的消除,也可以看做是 X给Y带来的信息增益。这两者本质是一样的。

信息增益比

 

信息增益值很大程度依赖于数据集的信息熵H(Y),因而不具有绝对意义。为了解决这个问题,研究者提出了信息增益比

g(X;Y)=I(X;Y)/H(Y)

相对熵(Relative entropy),KL散度(Kullback–Leibler divergence

机器学习中,经常使用的一个信息论的概念叫做KL散度。它描述的两个概率分布P和Q之间的差异的一种方法。定义为:

D_{KL}(P||Q)= \sum _{i=1}^n p(x_i)log \frac{p(x_i)}{q(x_i) }

如果 p(x) 和 q(x) 两个分布相同,那么相对熵等于0。

KL散度的两个重要性质是非负性非对称性

非负性:D_{KL}(P||Q)>=0

非对称性:D_{KL}(P||Q)\neq D_{KL}(Q||P)

交叉熵

现在有关于样本集的两个概率分布p(x) 和q(x),其中 p(x) 为真实分布,q(x) 非真实分布。如果用真实分布 p(x) 来衡量识别别一个样本所需要编码长度的期望(平均编码长度)为:

H(p)=- \sum _{i=1}^np(x_i)logp(x_i)

如果使用非真实分布 q(x) 来表示来自真实分布 p(x) 的平均编码长度,则是

H(p,q)=-\sum _{i=1}^{n} p(x_i)log q(x_i)

  • 在神经网络中,交叉熵可作为损失函数,p表示真实分布,q为预测分布,交叉熵损失函数可以衡量p与q的相似性。在使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题。
  • 在特征工程中,可以用来衡量两个随机变量之间的相似度。
  • 在语言模型中(NLP)中,由于真实的分布p是未知的,在语言模型中,模型是通过训练集得到的,交叉熵就是衡量这个模型在测试集上的正确率。

最大熵原理

对于一个未知的概率分布,最坏的情况就是它以等可能性渠道每个可能的取值。

定义有点抽象,看个例子:随机变量X有5个取值{A,B,C,D,E},要估计各个值的概率P(A),P(B),…,P(E).这些概率值满足条件P(A)+P(B)+P(C)+P(D)+P(E)=1,但是满足这个条件的概率分布有无数个,再没有额外条件下,一个可行的办法就是认为他们的概率都相等,均为0.2。

最大熵原理的本质在于推断未知分布时不引入任何多余的约束和假设,因而可以得到最大不确定的结果,预测的风险也就最小。

最大熵模型  

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

  这样每个特征函数就对应一个约束条件,分类任务就是在这些约束条件下,确定一个最好的分类模型。除了这些约束条件,没有任何关于分类的先验知识,所以要利用最大熵原理,求出不确定性最大的条件分布。

H(p(y|x))= -\sum_{x,y} \tilde{p}(x) p(y|x) logp(y|x)

式子中p(y|x)就是分类问题要确定的目标条件分布, 由特征函数确定的约束条件通常可以通过拉格朗日乘子 的引入去除影响。转换为无约束优化问题。

这里 不展开,之前SGD哪里有具体的推导过程。网上找个图。

总结:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值