自然语言处理中数学基础(信息论)

自然语言处理中数学基础(信息论)

01.熵(entropy)

如果 X 是一个离散性随机变量,其概率分布为: P ( x ) = P ( X = x ) x X X 的熵 H ( X ) 为:
H ( X ) = x X P ( x ) log 2 P ( x )
H ( X ) 也可以写成 H ( p ) ( b i t )
熵又称为自信息(self-information),表示信源 x 每一个符号(不论发出什么符号)所提供的平均信息量。

02.联合熵(joint entropy)

如果 X , Y 是一对离散随机变量( X , Y 有一定的关系), X , Y 的联合熵 H ( X , Y ) 为:
H ( X , Y ) = x X y Y P ( x , y ) log P ( x , y )
联合熵实际上就是描述一对随机变量平均所需要的信息量。

03.条件熵(conditional entropy)

给定随机变量 X 的情况下,随机变量 Y 的条件熵定义为:
H ( Y | X ) = x X P ( x ) H ( Y | X = x ) = x X P ( x ) [ y Y P ( y | x ) log ( P ( y | x ) ] = x X y Y P ( x , y ) log P ( y | x )
在此我们也可以做进一步的推导:
H ( X , Y ) = x X y Y P ( x , y ) log P ( x , y ) = x X y Y P ( x , y ) log [ P ( x ) P ( y | x ) ] = x X y Y P ( x , y ) log P ( x ) x X y Y P ( x , y ) log P ( y | x ) ( N o t i c e : y Y P ( x , y ) = P ( x ) ) = x X P ( x ) log ( P ( x ) ) x X y Y P ( x , y ) log P ( y | x ) = H ( X ) + H ( Y | X )
为了更加便于理解以上概念,博主在网上搜了一道例题供大家参考:
一个二进制信源 X 发出符号集{0,1},经过离散无记忆新的传输,信道输出用 Y 表示,由于信道正存在噪声,接收端除收到0和1的符号外,还有不确定符号“2”,已知 X 的先验概率:
P ( x 0 ) = 2 / 3 , P ( x 1 ) = 1 / 3 ;
符号的转移概率: P ( y 0 | x 0 ) = 3 / 4 ; P ( y 2 | x 0 ) = 1 / 4 ; P ( y 1 | x 1 ) = 1 / 2 ; P ( y 2 | x 1 ) = 1 / 2
其对应的图形有:
这里写图片描述
那么根据这些信息可以计算出:
1.信息熵: H ( X )
H ( X ) = H ( 2 / 3 , 1 / 3 ) = 2 / 3 l o g ( 2 / 3 ) 1 / 3 l o g ( 1 / 3 ) = 0.92 b i t
2.条件熵: H ( Y | X )
P ( x i y j ) = P ( x i ) P ( y j | x i ) = P ( y j ) P ( x i | y j ) (这里使用条件概率公式可以推导)
进而有:联合概率:
P ( x 0 y 0 ) = P ( x 0 ) P ( y 0 | x 0 ) = 2 3 3 4 = 1 2
P ( x 0 y 1 ) = P ( x 0 ) P ( y 1 | x 0 ) = 0
P ( x 0 y 2 ) = P ( x 0 ) P ( y 2 | x 0 ) = 2 3 1 4 = 1 6
P ( x 1 y 0 ) = P ( x 1 ) P ( y 0 | x 1 ) = 0
P ( x 1 y 1 ) = P ( x 1 ) P ( y 1 | x 1 ) = 1 3 1 2 = 1 6
P ( x 1 y 2 ) = P ( x 1 ) P ( y 2 | x 1 ) = 1 3 1 2 = 1 6
进而有:
H ( Y | X ) = i , j P ( x i y j ) log P ( y j | x i ) = 1 2 log 3 4 1 3 log 1 4 1 6 log 1 2 1 6 log 1 2 = 0.88 b i t
3.联合熵: H ( X Y )
由条件熵中的推导可知:
H ( X Y ) = H ( X ) + H ( Y | X ) = 1.8 b i t /
4.信源输出熵: H ( Y )
由全概率公式有: i = 1 n P ( x i y j ) = P ( y j ) j = 1 m P ( x i y j ) = P ( x i )
得:
P ( y 0 ) = P ( x i y 0 ) = P ( x 0 y 0 ) + P ( x 1 y 0 ) = 1 2 + 0 = 1 2
P ( y 1 ) = P ( x i y 1 ) = P ( x 0 y 1 ) + P ( x 1 y 1 ) = 0 + 1 6 = 1 6
P ( y 2 ) = P ( x i y 2 ) = P ( x 0 y 2 ) + P ( x 1 y 2 ) = 1 6 + 1 6 = 1 3
故有: H ( Y ) = H ( 1 2 , 1 3 , 1 6 ) = 1 2 log 1 2 1 3 log 1 3 1 6 log 1 6 = 1.47 b i t
5.条件熵: H ( X | Y )
这里就介绍思路,具体步骤可以参照以上;依然是根据条件概率和全概率公式计算,先求得y条件下的x的概率,然后再结合条件概率公式求解即可。结果为 0.33 b i t

猜你喜欢

转载自blog.csdn.net/meiqi0538/article/details/80036653
今日推荐