如何理解信息量、信息熵、信息增益

如何理解信息熵

1. 信息的度量

首先需要明确的是,这里的信息和我们每天看新闻,看报纸获取的信息概念不完全相同,这里定义的信息是需要一个能够完全量化的概念,其中量化信息大小的量成为信息量。按照香农的观点,信息是用来消除随机不确定性的东西,其中,能够消除的“不确定性成分”越大,信息量肯定也越大。这时候,信息的“不确定性成分”人们自然会想到概率,因为概率越小,不确定性就越大,但是显然信息量不能与事件发生的概率划等号,因为前面已经提到,信息能够消除不确定性的成分越大,信息量越大。另外根据定义,信息不可能增加不确定性的东西,因此信息量总是非负数。此外,两个独立事件能够提供的信息应该是能够叠加的。按照香农给出的定义,信息量的定义为
(1.1) h ( x ) = − log ⁡ p ( x ) h(x) = - \log p(x) \tag {1.1} h(x)=logp(x)(1.1)
就是说信息x的信息量是随机事件X中事件x发生的概率p(x)的负对数,比如说彩票站开奖,中奖概率是1/10000,对于一个手握彩票号码是1234只关注自己是否中奖的甲来说,中奖号码是1234和非1234能够提供的信息量就是不同的,因为中奖这件发生的概率仅为1/10000,我们说中奖号码是1234提供的信息量是-log(1/10000),而对于中奖号码非1234的话,只能未中奖事件的概率9999/10000,我们说中奖号码非1234提供的信息量是-log(9999/10000),其中对于信息量运算时的底数没有严格的规定,我一般习惯使用自然对数,这对于理解信息这个概念时没有影响的。

2. 信息熵

前面提到的信息量,指的是在随机事件中,概率为p(x)的事件x发生的概率的相反数,这是需要重点理解的是,就是我们认为事件x已经发生了,那么它提供的信息就可以表示为在第一节提供的公式,这里一定要注意和概率的概念做区分。那么信息熵是怎么回事呢?信息熵借用热力学中熵的定义,将随机事件的的信息量的均值成为信息熵。信息熵的定义如下
(2.1) H ( X ) = E ( h ( x ) ) H(X) = E(h(x)) \tag {2.1} H(X)=E(h(x))(2.1)
上面X表示随机事件,x表示随机事件的取值,比如说随机事件是从单选题中A、B、C、D四个选项中选出一个正确选项,那么明显X的取值集合为{A, B, C, D},如果这四个选项正确的可能性相同,那么各自发生的概率为0.25,事件发生的信息量为 − log ⁡ ( 0.25 ) -\log(0.25) log(0.25),那么这个事件的信息熵就可以通过下面这个式子计算
H ( x ) = E ( p ( x ) ) H(x) = E(p(x)) H(x)=E(p(x))
= − ∑ x p ( x ) ∗ log ⁡ ( p ( x ) ) = -\sum_xp(x)*\log(p(x)) =xp(x)log(p(x))
= − 4 ∗ 0.25 ∗ l o g ( 0.25 ) = -4 * 0.25 * log(0.25) =40.25log(0.25)
对于离散分布随机变量,信息熵也可以写成
(2.2) H ( X ) = − ∑ x p ( x ) ∗ log ⁡ ( p ( x ) ) H(X) = -\sum_xp(x)*\log(p(x)) \tag {2.2} H(X)=xp(x)log(p(x))(2.2)
可以看出,其实公式(1)和公式(2)是完全等价的

3. 信息增益

3.1 条件信息熵

在概率中有条件概率,同样,在信息里面也有条件信息熵,它表示若特征A已知时,随机变量的信息熵的均值,信息熵的定义式如下
H ( X ∣ A ) = E a ( H ( X ∣ A = a ) ) H(X|A) = E_a(H(X|A=a)) H(XA)=Ea(H(XA=a))
= ∑ a p A ( a ) ∗ H ( X ∣ A = a ) ) = \sum_a{p_A(a) * H(X|A=a))} =apA(a)H(XA=a))
= − ∑ a p A ( a ) ∗ ∑ y p ( x ∣ a ) ∗ l o g ( p ( x ∣ a ) ) = -\sum_a{p_A(a) * \sum_y{p(x|a)*log(p(x|a))}} =apA(a)yp(xa)log(p(xa))
(3.1) = − ∑ a , x ( p ( a , x ) ∗ l o g ( p ( x ∣ a ) ) ) =-\sum_{a,x}\Big(p(a,x)*log(p(x|a))\Big) \tag {3.1} =a,x(p(a,x)log(p(xa)))(3.1)

3.2 信息增益

信息增益定义为条件信息熵H(X|A)与H(X)之间的差值,表示特征信息A的确定对于确定随机变量X的取值的贡献
(3.2) g ( X , A ) = H ( X ) − H ( X ∣ A ) g(X, A) = H(X) - H(X|A) \tag {3.2} g(X,A)=H(X)H(XA)(3.2)
信息增益具有重要的现实意义,考虑公式(3.2)中信息增益的含义,如果想要确定随机变量X的取值,首先应该确定使信息增益最大的特征A,比如说我们去买西瓜,我们想要知道西瓜究竟甜还是不填,我们首先需要先去拍一拍西瓜听声音,这里“声音”就可以理解为一个特征,那么“若西瓜声音已知了,瓜究竟是甜不甜”就可以理解为条件信息熵,将这个条件信息熵与任何条件均未知的条件下西瓜甜不甜的熵求差值就表示了信息增益。另外,瓜可能还有一些其他特征,比如说颜色,品种等,同样利用类似的方法求信息增益,那么信息增益最大的特征就是我们首先需要确定的特征,这也印证了很多我们现实生活中遇到某些问题的一般做法。

3.3 信息增益比

信息增益已经在很大程度上说明问题了,但并不是所有问题,信息增益中没有考虑如下两种情况

  1. 获取特征的代价
  2. 特征的泛化能力

对于第一种情况,我们不难想象,不同特征获取的代价是不同的,比如说在一场数学考试中最后5分钟,还剩一道计算角度的选择题没有确定,这时候有两种方法,按照严格的理论推导,得出正确的结果,预计需要10分钟,或者是用量角器量出角度,然后选一个最接近量出角度的选项,预计需要1分钟,显然第一种方法的信息增益更大,但是在现实中,大量人会选用第二种方法,就是因为不仅要考虑信息增益,还要考虑特征代价。
对于第二种情况,是因为我们虽然在公式中都是用概率去计算信息熵、信息增益,但是在实际运算中,都是按照频率去近似概率,这就会引入一些泛化能力很弱的特征,比如我们想要根据瓜的特征来判断瓜甜不甜,我们不仅有声音、颜色、品种等正常的特征,我们还引入了异常的编号特征,每个编号对应一个瓜,那么在实际计算中,编号这个最不应该考虑的特征反倒成了信息增益最大的特征。
信息增益比指的是特征A对随机变量X的增益与特征A的信息熵的比值
g R ( D , A ) = g ( X , A ) H ( A ) g_{_R}(D, A) = \frac{g(X, A)}{H(A)} gR(D,A)=H(A)g(X,A)

你可能感兴趣的:(如何理解信息量、信息熵、信息增益)