最近看《统计自然语言处理》,遇到不少公式,在此做一下笔记,写下一些关键知识点和关键公式的推导过程。下面是书中第二章的主要内容。
2.1 概率论基本概念
2.1.1 概率
概率的三个公理
(1) 非负性: P(A)≥0
(2) 规范性: P(Ω)=1
(3) 可列可加性:
事件A1,A2,...,Ai,...互不相容(Ai∩Aj=∅),则有
P(⋃i=0∞Ai)=∑i=0∞P(Ai)
2.1.3 条件概率
如果A和B是样本空间Ω上的两个事件,P(B)>0,那么在给定B时A的条件概率P(A∣B)为
P(A∣B)=P(A∩B)P(B)
概率的乘法定理
P(A∩B)=P(B)P(A∣B)=P(A)P(B∣A)
其一般形式为
P(A1∩⋯∩An)=P(A1)P(A2∣A1)P(A3∣A1∩A2)⋯P(An∣⋂i=1n−1Ai)
条件概率的三个基本性质:
(1) 非负性: P(A∣B)≥0
(2) 规范性: P(Ω∣B)=1
(3) 可列可加性:如果事件A1,A2,⋯,Ai,⋯互不相容,则
P(∑i=1∞Ai∣B)=∑i=1∞P(Ai∣B)
如果Ai,Aj条件独立,当且仅当
P(Ai,Aj∣B)=P(Ai∣B)P(Aj∣B)
2.1.4 贝叶斯法则
假设B是样本空间Ω的一个划分,即∑iBi=Ω。如果A⊆⋃iBi,并且Bi互不相交,那么A=∑i=1BiA,于是P(A)=∑i=1P(BiA)。由乘法定理可得
P(A)=∑iP(A∣Bi)P(Bi)
上式称为全概率公式。
下面给出贝叶斯法则的精确描述。
假设A为样本空间的事件,如果A⊆⋃iBi,P(A)>0,并且i≠j,Bi∩Bj=∅,P(Bi)>0 (i=1,2,⋯,n),则
P(Bj∣A)=P(A∣Bj)P(Bj)P(A)=P(A∣Bj)P(Bj)∑ni=1P(A∣Bi)P(Bi)
2.1.8 贝叶斯决策理论
2.2 信息论基本概念
2.2.1 熵 (Entropy)
如果X是一个离散型随机变量,取值空间为R,其概率分布为p(x)=P(X=x),x∈R。那么,X的熵H(X)定义为:
H(X)=H(p)=−∑x∈Rp(x)log2p(x)
2.2.2 联合熵和条件熵
离散型随机变量X,Y∼p(x,y),X,Y的联合熵(joint entropy) H(X,Y)定义为
H(X,Y)=−∑x∈X∑y∈Yp(x,y)logp(x,y)
联合熵实际上就是描述一对随机变量平均所需要的信息量。
在给定随机变量
X的情况下,随机变量
Y的条件熵(conditional entropy)由下式给定:
H(X,Y)=∑x∈Xp(x)H(Y∣X=x)=∑x∈Xp(x)[−∑y∈Yp(y∣x)logp(y∣x)]=−∑x∈X∑y∈Yp(x,y)logp(y∣x)
对联合熵定义公式展开,
H(X,Y)=−∑x∈X∑y∈Yp(x,y)logp(x,y)=−∑x∈X∑y∈Yp(x,y)log[p(x)p(y∣x)]=−∑x∈X∑y∈Yp(x,y)[logp(x)+logp(y∣x)]=−∑x∈X∑y∈Yp(x,y)logp(x)−∑x∈X∑y∈Yp(x,y)logp(y∣x)=−∑x∈Xlogp(x)∑y∈Yp(x,y)−∑x∈X∑y∈Yp(x,y)logp(y∣x)=−∑x∈Xp(x)logp(x)−∑x∈X∑y∈Yp(x,y)logp(y∣x)=H(X)+H(Y∣X)
我们称上式为熵的连锁规则(chain rule for entropy)。推广到一般情况,有
H(X1,X2)=H(X2∣X1)+H(X1)
H(X1,X2,X3)=H(X3,X2∣X1)+H(X1)=H(X3∣X2,X1)+H(X2∣X1)+H(X1)
H(X1,X2,⋯,Xn)=H(X1)+H(X2∣X1)+⋯+H(Xn∣X1,⋯,Xn−1)=∑i=1nH(Xi∣Xi−1,⋯,X1)
一般地,对于一条长度为n的信息,每一个字符或字的熵为
Hrate=1n∑x1np(x1n)logp(x1n))
这个数值成为熵率(entropy rate)。其中,变量
X1n表示随机变量序列
(X1,X2,⋯,Xn),
x1n=(x1,x2,⋯,xn)。
如果假定一种语言是由一系列符号组成的随机过程,
L=(Xi),那么,我们定义这种语言
L的熵为
Hrate(L)=limn→∞1nH(X1,X2,⋯,Xn)
2.2.3 互信息
根据熵的连锁规则(chain rule for entropy),有
H(X,Y)=H(X)+H(Y∣X)=H(Y)+H(X∣Y)
因此,
H(X)−H(X∣Y)=H(Y)−H(Y∣X)
这个差叫做X和Y的互信息(mutual information),记作I(X;Y)
I(X;Y)=H(X)−H(X∣Y)
I(X;Y)反映的是在知道了Y的值以后X的不确定性的减少量。可以理解为Y的值透露了多少关于X的信息量。
(注: H(X∣Y)可以理解为“在Y确定的条件下X的不确定性”)
将I(X;Y)展开,
I(X;Y)=H(X)−H(X∣Y)=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;Y∣Z)=I((X;Y)∣Z)=H(X∣Z)−H(X∣Y,Z)
条件互信息连锁规则
I(X1,X2,⋯,Xn;Y)=H(X1,X2,⋯,Xn)−H(X1,X2,⋯,Xn∣Y)==I(X1,Y)+⋯+I(Xn;Y|X1,⋯,Xn−1)=∑i=1nI(Xi;Y∣X1,⋯,Xi−1)
2.2.4 相对熵
相对熵(relative entropy)是衡量相同事件空间里两个概率分布相对差异的测度。两个概率分布p(x)和q(x)的相对熵定义为
D(p ∥ q)=∑x∈Xp(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(y∣x) ∥ q(y∣x))=∑xp(x)∑yp(y∣x)logp(y∣x)q(y∣x)
D(p(y,x) ∥ q(y,x))=
D(P(X∣Y) || Q(X∣Y))=∑x,yp(x∣y)logp(x∣y)q(x∣y)??? No
因为
∑x,yp(x∣y)≠1
另一方面
∑xp(x∣y)=1
∑xp(x∣y)logp(x∣y)q(x∣y)
是Y=y条件下的条件相对熵,记为D(P(X∣y)||Q(X∣y))。这里只是算了一个Y=y条件下的相对熵,对所有y计算相对熵为下式
∑yp(y)D(P(X∣y)||Q(X∣y))=∑yp(y)∑xp(x∣y)logp(x∣y)q(x∣y)=∑x,yp(x,y)logp(x∣y)q(x∣y)
2.2.5 交叉熵
交叉熵(cross entropy)用于衡量估计模型与真实概率分布之间的差异情况。
如果一个随机变量X∼p(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)=−limn→∞1n∑x1np(x1n)logq(x1n)
其中,x1n=x1,x2,⋯,xn为L的词序列(样本)。