10-信息论

引子

一个离散的随机变量 x ,这个变量的有一个具体值的时候,含有多少信息?

信息量

一个事情必然发生,或者必然不发生,则没有任何信息量
一个相当不可能的事件发生后收到的信息量,要多于一个很可能发生的事件发生时收到的信息量

信息内容的度量依赖于概率分布 p(x) ,需要找到一个函数 h(x) ,它是概率 p(x) 的单调递增函数,并表达了信息量的内容。

h() 寻找的依据:如果两个事件 x,y 是不相关的,那么我们观察到两个事件同时发生时获得的信息量,应该等于观察到事件各自发生时获得的信息量之和,即 h(x,y)=h(x)+h(y) 。两个不相关事件是统计独立的,所以 p(x,y)=p(x)p(y)

根据这两个关系,很容易得出 h(x) 一定可以由 p(x) 的对数给出:

h(x)=log2p(x)

负号保证信息量是非负的,低概率事件 x 对应于大信息量

随机变量 x 的熵(entropy)

现在假设一个发送者想传输一个随机变量的值给接收者。这个过程中,他们传输的平均信息量可以通过下式关于概率分布 p(x) 的期望得到:

H[x]=xp(x)log2p(x)

举个栗子

假设一个随机变量 xx 有8种可能的状态,每种状态都是等可能的。为了把 xx 的值传给接收者,我们需要传输一个3比特的消息。注意,这个变量的熵:

H[x]=8×18log218=3bits

现在考虑一个具有8种可能状态 {a,b,c,d,e,f,g,h}{a,b,c,d,e,f,g,h} 的随机变量,每个状态各自的概率为 (12,14,18,116,164,164,164,164)(12,14,18,116,164,164,164,164) (Cover and Thomas, 1991)。这种情形下的熵为

H[x]=12log21214log21418log218116log2116464log2164=2bits

非均匀分布比均匀分布的熵要小
使用更短的编码来描述更可能的事件,更长的编码来描述不太可能的事件,能够得到一个更短的平均编码长度。

熵和最短编码长度的这种关系是一种普遍的情形。无噪声编码定理(noiseless coding theorem)表明,熵是传输一个随机变量状态值所需的比特位的下界。

熵的理解

熵是无序程度的度量。

考虑一个包含N个完全相同的物体的集合,这些物体要被分到若干个箱子中,使得第 i 个箱子中有 ni 个物体。考虑把物体分配到箱子中的不同方案的数量。有N种方式选择第一个物体,有(N − 1)种方式选择第二个物体,以此类推,总共有 N! 种方式把N个物体分配到箱子中, 其中 N!N! 表示乘积 N×(N1)××2×1 。但是,我们不想区分同一个箱子中同样元素的不同排列。在第 ith 个箱子有 ni! 种排列方式。那么把 NN 个物体分配到箱子中的总方案数量为:

W=N!ini!

这被称为多重性(multiplicity)

熵被定义为多重性的对数乘以一个适当的缩放常数,即:

H=1NlnW=1NlnN!1Nilnni!

ni/N 固定的情况下, N 使用Stirling’s近似

lnN!NlnNN

得到:

H=limNi(niN)ln(niN)=ipilnpi

我们可以用离散随机变量 X 的状态 xi 来表示箱子,其中 p(X=xi)=pi 。随机变量X的熵为:

H[p]=ip(xi)lnp(xi)

如果分布 p(xi)p(xi) 有多个尖锐的峰值,那么熵相对较小。相反的,如果分布 p(xi)p(xi) 相对比较平缓,那么熵就会相对大

如下图

在离散分布中,最大熵对应的是变量的所有可能状态的均匀分布。

连续变量的熵

对应连续的变量就是微分熵(differential entropy)

H[x]=p(x)lnp(x)dx

最大化微分熵的分布是高斯分布。求解过程是用拉格朗日法求解拉格朗日乘数。

求高斯分布的微分熵,可以得到:

H[x]=12{1+ln(2πδ2)}

熵随着分布宽度(即 δ )的增加而增加。

KL离散度

考虑某个未知的分布 p(x) ,假定用一个近似的分布 q(x) 对它进行了建模。如果使用 q(x) 来建立一个编码体系,用来把 x 的值传给接收者,那么,由于使用了 q(x) 而不是真实分布 p(x) ,因此在具体化 x 的值时,需要一些附加的信息。需要的平均的附加信息量(单位是nat)为:

KL(p||q)==p(x)lnq(x)dx(p(x)lnp(x)dx)p(x)ln{q(x)p(x)}dx

这就是分布 p(x) 和分布 q(x) 之间的相对熵(relative entropy)

凸函数(convex function)

一个函数具有如下性质:每条弦都位于函数图像或其上方(如图),那么我们说这个函数是凸函数。

凸函数 f(x) 的每条弦(蓝色表示)位于函数上或函数上方,函数用红色曲线表示

位于 x=a x=b 之间的任何一个 x 值都可以写成 λa+(1λ)b 的形式,其中 0λ1 。弦上的对应点可以写成 λf(a)+(1λ)f(b) ,函数的对应值为 f(λa+(1λ)b)

凸函数的性质就可以表示为

f(λa+(1λ)b)λf(a)+(1λ)f(b)

凸函数的例子有 xlnx(x>0) x2

Jensen不等式

对于离散变量

f(E[x])E[f(x)]

对于连续变量
f(xp(x)dx)f(x)p(x)dx

两个分布相似度

lnx 是严格凸函数,因此只有 q(x)=p(x) 对于所有x都成立时,等号才成立。因此我们可以把Kullback-Leibler散度看做两个分布 p(x) q(x) 之间不相似程度的度量。

在数据压缩和密度估计(即对未知概率分布建模)之间有一种隐含的关系,因为知道真实概率分布之后,可以给出最有效的压缩。如果使用了不同于真实分布的概率分布,那么一定会损失编码效率,并且在传输时增加的平均额外信息量至少等于两个分布之间的Kullback-Leibler散度。

假设数据通过未知分布 p(x) 生成,要对 p(x) 建模。可以试着使用一些参数分布 q(x|θ) 来近似这个分布。 q(x|θ) 由可调节的参数 θ 控制(例如一个多元高斯分布)。一种确定 θ 的方式是最小化 p(x) q(x|θ) 之间关于 θ 的Kullback-Leibler散度。

不能直接最小化,因为不知道 p(x) 。但是,假设已经观察到了服从分布p(x)的有限数量的训练点 xn ,其中 n=1,...,N 。那么,关于 p(x) 的期望就可以通过这些点的有限加和,使用来近似,即

KL(p||q)n=1N{lnq(xn|θ)+lnp(xn)}

右侧的第二项与 θ 无关,第一项是使用训练集估计的分布 q(x|θ) 下的 θ 的负对数似然函数。因此最小化Kullback-Leibler散度等价于最大化似然函数。

互信息(mutual information)

可以通过考察联合概率分布与边缘概率分布乘积之间的Kullback-Leibler散度来判断它们是否“接近”于相互独立。此时,Kullback-Leibler散度为:

I[x,y]=KL(p(x,y)p(x)p(y))p(x,y)ln(p(x)p(y)p(x,y))dxdy

使用概率的加法和乘法规则,互信息和条件熵之间的关系为

I[x,y]=H[x]H[x|y]=H[y]H[y|x]

因此可以把互信息看成由于知道y值而造成的x的不确定性的减小(反之亦然)。从贝叶斯的观点来看,把 p(x) 看成 x 的先验概率分布,把 p(x|y) 看成我们观察到新数据 y 之后的后验概率分布。因此互信息表示一个新的观测 y 引起的x的不确定性的减小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值