信息量:不确定性大小
- 信息量等于不确定性的大小。
- 自信息:一件不太可能的事发生,要比一件非常可能的事发生,提供更多的信息 I ( x ) = − l o g P ( x ) I(x)=-logP(x) I(x)=−logP(x)
- 信息熵:量化整个概率分布中的不确定性总量 H ( X ) = E x ∼ P [ I ( x ) ] = − ∑ x ∈ X P ( x ) l o g P ( x ) H(X)= E_{x\sim P}[I(x)]=-\sum_{x\in X}P(x)logP(x) H(X)=Ex∼P[I(x)]=−x∈X∑P(x)logP(x)
信息的作用:消除不确定性
- 信息的作用在于消除不确定性。NLP的大量问题就是寻找相关的信息。
- "相关"的信息(如上下文)能够消除不确定性 H ( X ) ≥ H ( X ∣ Y ) H(X)\ge H(X|Y) H(X)≥H(X∣Y)当获取的信息与所研究的事物毫无关系时等号成立。
互信息:衡量两个随机事件的相关性
- 定义:衡量两个随机事件的相关性 I ( X ; Y ) = ∑ x ∈ X , y ∈ Y P ( x , y ) l o g P ( x , y ) P ( x ) P ( y ) I(X;Y)=\sum_{x\in X,y\in Y}P(x,y)log\frac{P(x,y)}{P(x)P(y)} I(X;Y)=x∈X,y∈Y∑P(x,y)logP(x)P(y)P(x,y)
- 应用
解决翻译中二义性问题,如bush既是美国总统布什的名字,也表灌木丛。首先从大量文本中找出和布什一起出现的互信息最大的一些词,像总统、美国、国会,同样找出和灌木丛一起出现的互信息最大的词,像土壤、植物等。然后在翻译bush时看看上下文中哪一类相关的词多就可以了。
相对熵与交叉熵
相对熵/KL散度:衡量两个取值为正的函数的相似性
- 定义:P对Q的KL散度 D P ( Q ) = E x ∼ P [ l o g P ( x ) Q ( x ) ] = ∑ x ∈ X P ( x ) l o g P ( x ) Q ( x ) D_P(Q) =E_{x\sim P}[log\frac{P(x)}{Q(x)}]=\sum_{x \in X}P(x)log\frac{P(x)}{Q(x)} DP(Q)=Ex∼P[logQ(x)P(x)]=x∈X∑P(x)logQ(x)P(x)KL 散度越小,真实分布与近似分布之间的匹配就越好。
- 性质:
(1) 非负性:KL 散度为 0 当且仅当P 和 Q 在离散型变量的情况下是相同的分布,或者在连续型变量的情况下是“几乎处处”相同的
(2)不对称性: D P ( Q ) ! = D Q ( P ) D_P(Q) != D_Q(P) DP(Q)!=DQ(P) - 应用:衡量两个常用词(在语法和语义上)在两个不同文本中的概率分布,看是否同义;计算词频率-逆向文档频率(TF-IDF)
交叉熵:衡量两个概率分布间的差异性信息
- 定义:用一个猜测的分布的编码方式去编码其真实的分布,得到的平均编码长度或者信息量 H P ( Q ) = − E X ∼ P l o g Q ( x ) = − ∑ x ∈ X P ( x ) l o g Q ( x ) H_P(Q)=-E_{X\sim P}logQ(x)=-\sum_{x\in X}P(x)logQ(x) HP(Q)=−EX∼PlogQ(x)=−x∈X∑P(x)logQ(x)上式即为用猜的的p分布,去编码原本真是为q的分布,得到的信息量
- 应用:交叉熵在机器学习领域中经常作为最后的损失函数,只有当猜测的分布约接近于真实分布,则交叉熵越小。 比如根据自己模型得到的A的概率是80%,得到B的概率是20%,真实的分布是应该得到A,则意味着得到A的概率是100%,所以 L = − ∑ i y i l o g ( P ( x i ) ) + ( 1 − y i ) l o g ( 1 − P ( x i ) ) L=-\sum_iy_ilog(P(x_i))+(1-y_i)log(1-P(x_i)) L=−i∑yilog(P(xi))+(1−yi)log(1−P(xi))
相对熵与交叉熵的关系
针对 Q 最小化交叉熵等价于最小化 P 对 Q 的 KL 散度,因为 Q 并不参与被省略的
H
(
P
)
H(P)
H(P)项。
H
P
(
Q
)
=
H
(
P
)
+
D
P
(
Q
)
H_P(Q)=H(P)+D_P(Q)
HP(Q)=H(P)+DP(Q)