自然语言处理之中文平均信息熵
课程大作业 欢迎交流
信息熵
1.信息熵定义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mpqE0SXy-1621346255418)(自然语言处理之中文平均信息熵.assets/shannon.png)]
1948年,香农提出了信息熵的概念,解决了对信息的量化度量问题。如今熵 (Entropy),信息熵,已经是机器学习中绕不开的一个概念。信息熵常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据。
信息熵的公式:
H ( X ) = − ∑ x ∈ X p ( x ) log p ( x ) H\left( X \right) = - \sum\limits_{x \in X } {p\left( x \right)\log p\left( x \right)} H(X)=−x∈X∑p(x)logp(x)
且规定:
0 log ( 0 ) = 0 0\log \left( 0 \right) = 0 0log(0)=0
信息论之父克劳德·香农给出了信息熵的三个性质:
- 单调性,发生概率越高的事件,其携带的信息量越低;
- 非负性,信息熵可以看作为一种广度量,非负性是一种合理的必然;
- 累加性,即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和,这也是广度量的一种体现。
2.多随机变量系统中的信息熵
再自然语言处理中,文本的信息熵会涉及到多随机变量的情况,存在互信息、联合熵、条件熵等概念,以两随机变量系统为例,条件熵可以表示为:
H ( Y ∣ X ) = − ∑ x ∈ X p ( x ) ∑ y ∈ Y p ( y ∣ x ) log p ( y ∣ x ) = − ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log p ( x , y ) p ( x ) \begin{array}{c} H\left( {Y|X} \right) = - \sum\limits_{x \in X} {p\left( x \right)\sum\limits_{y \in Y} {p\left( {y|x} \right)\log p\left( {y|x} \right)} } \\ = - \sum\limits_{x \in X} {\sum\limits_{y \in Y} {p\left( {x,y} \right)\log \frac{
{p\left( {x,y} \right)}}{
{p\left( x \right)}}} } \end{array} H(Y∣X)=−