统计自然语言处理概率论和信息论基本概念及其推导过程

来源:互联网 发布:生日祝福网页源码 编辑:程序博客网 时间:2024/05/17 14:16

最近看《统计自然语言处理》,遇到不少公式,在此做一下笔记,写下一些关键知识点和关键公式的推导过程。下面是书中第二章的主要内容。

2.1 概率论基本概念

2.1.1 概率

概率的三个公理
(1) 非负性: P(A)0
(2) 规范性: P(Ω)=1
(3) 可列可加性:
事件A1,A2,...,Ai,...互不相容(AiAj=),则有

P(i=0Ai)=i=0P(Ai)

2.1.3 条件概率

如果AB是样本空间Ω上的两个事件,P(B)>0,那么在给定BA的条件概率P(AB)

P(AB)=P(AB)P(B)

概率的乘法定理

P(AB)=P(B)P(AB)=P(A)P(BA)

其一般形式为

P(A1An)=P(A1)P(A2A1)P(A3A1A2)P(Ani=1n1Ai)

条件概率的三个基本性质:
(1) 非负性: P(AB)0
(2) 规范性: P(ΩB)=1
(3) 可列可加性:如果事件A1,A2,,Ai,互不相容,则

P(i=1AiB)=i=1P(AiB)

如果Ai,Aj条件独立,当且仅当

P(Ai,AjB)=P(AiB)P(AjB)

2.1.4 贝叶斯法则

假设B是样本空间Ω的一个划分,即iBi=Ω。如果AiBi,并且Bi互不相交,那么A=i=1BiA,于是P(A)=i=1P(BiA)。由乘法定理可得

P(A)=iP(ABi)P(Bi)

上式称为全概率公式。
下面给出贝叶斯法则的精确描述。
假设A为样本空间的事件,如果AiBiP(A)>0,并且ijBiBj=P(Bi)>0 (i=1,2,,n),则

P(BjA)=P(ABj)P(Bj)P(A)=P(ABj)P(Bj)ni=1P(ABi)P(Bi)

2.1.8 贝叶斯决策理论

2.2 信息论基本概念

2.2.1 熵 (Entropy)

如果X是一个离散型随机变量,取值空间为R,其概率分布为p(x)=P(X=x),xR。那么,X的熵H(X)定义为:

H(X)=H(p)=xRp(x)log2p(x)

2.2.2 联合熵和条件熵

离散型随机变量X,Yp(x,y)X,Y的联合熵(joint entropy) H(X,Y)定义为

H(X,Y)=xXyYp(x,y)logp(x,y)

联合熵实际上就是描述一对随机变量平均所需要的信息量。
在给定随机变量X的情况下,随机变量Y的条件熵(conditional entropy)由下式给定:
H(X,Y)=xXp(x)H(YX=x)=xXp(x)[yYp(yx)logp(yx)]=xXyYp(x,y)logp(yx)

对联合熵定义公式展开,
H(X,Y)=xXyYp(x,y)logp(x,y)=xXyYp(x,y)log[p(x)p(yx)]=xXyYp(x,y)[logp(x)+logp(yx)]=xXyYp(x,y)logp(x)xXyYp(x,y)logp(yx)=xXlogp(x)yYp(x,y)xXyYp(x,y)logp(yx)=xXp(x)logp(x)xXyYp(x,y)logp(yx)=H(X)+H(YX)

我们称上式为熵的连锁规则(chain rule for entropy)。推广到一般情况,有
H(X1,X2)=H(X2X1)+H(X1)

H(X1,X2,X3)=H(X3,X2X1)+H(X1)=H(X3X2,X1)+H(X2X1)+H(X1)

H(X1,X2,,Xn)=H(X1)+H(X2X1)++H(XnX1,,Xn1)=i=1nH(XiXi1,,X1)

一般地,对于一条长度为n的信息,每一个字符或字的熵为

Hrate=1nx1np(x1n)logp(x1n))

这个数值成为熵率(entropy rate)。其中,变量X1n表示随机变量序列(X1,X2,,Xn)x1n=(x1,x2,,xn)
如果假定一种语言是由一系列符号组成的随机过程,L=(Xi),那么,我们定义这种语言L的熵为
Hrate(L)=limn1nH(X1,X2,,Xn)

2.2.3 互信息

根据熵的连锁规则(chain rule for entropy),有

H(X,Y)=H(X)+H(YX)=H(Y)+H(XY)

因此,
H(X)H(XY)=H(Y)H(YX)

这个差叫做XY的互信息(mutual information),记作I(X;Y)

I(X;Y)=H(X)H(XY)

I(X;Y)反映的是在知道了Y的值以后X的不确定性的减少量。可以理解为Y的值透露了多少关于X的信息量。
(注: H(XY)可以理解为“在Y确定的条件下X的不确定性”)
I(X;Y)展开,

I(X;Y)=H(X)H(XY)=H(X)+H(Y)H(X,Y)=xp(x)log1p(x)+yp(y)log1p(y)+x,yp(x,y)logp(x,y)=xlog1p(x)yp(x,y)+ylog1p(y)xp(x,y)+x,yp(x,y)logp(x,y)=x,yp(x,y)log1p(x)+x,yp(x,y)log1p(y)+x,yp(x,y)logp(x,y)=x,yp(x,y)logp(x,y)p(x)p(y)

条件互信息定义

I(X;YZ)=I((X;Y)Z)=H(XZ)H(XY,Z)

条件互信息连锁规则

I(X1,X2,,Xn;Y)=H(X1,X2,,Xn)H(X1,X2,,XnY)==I(X1,Y)++I(Xn;Y|X1,,Xn1)=i=1nI(Xi;YX1,,Xi1)

2.2.4 相对熵

相对熵(relative entropy)是衡量相同事件空间里两个概率分布相对差异的测度。两个概率分布p(x)q(x)的相对熵定义为

D(p  q)=xXp(x)logp(x)q(x)

表示成期望值为
D(p  q)=Ep(logp(x)q(x))

互信息实际上就是衡量一个联合分布与独立性差距多大的测度(书中有证明过程):
I(X;Y)$=D(p(x,y)  p(x)p(y))

下面推导条件相对熵和相对熵的连锁规则:

D(p(yx)  q(yx))=xp(x)yp(yx)logp(yx)q(yx)

D(p(y,x)  q(y,x))=

D(P(XY) || Q(XY))=x,yp(xy)logp(xy)q(xy)??? No

因为

x,yp(xy)1

另一方面

xp(xy)=1

xp(xy)logp(xy)q(xy)

Y=y条件下的条件相对熵,记为D(P(Xy)||Q(Xy))。这里只是算了一个Y=y条件下的相对熵,对所有y计算相对熵为下式

yp(y)D(P(Xy)||Q(Xy))=yp(y)xp(xy)logp(xy)q(xy)=x,yp(x,y)logp(xy)q(xy)

2.2.5 交叉熵

交叉熵(cross entropy)用于衡量估计模型与真实概率分布之间的差异情况。
如果一个随机变量Xp(x)q(x)为用于近似p(x)的概率分布,那么随机变量Xh和模型q之间的交叉熵定义为

H(X,q)=H(X)+D(p || q)=xp(x)logq(x)

定义语言L=(X)p(x)与其模型q的交叉熵为

H(L,q)=limn1nx1np(x1n)logq(x1n)

其中,x1n=x1,x2,,xnL的词序列(样本)。

原创粉丝点击