信息熵增的理解和证明

ID3算法中信息熵增的理解

    • 条件熵
    • 信息熵增

  1. 理论:万物遵循熵增原理 即 世界各种元素总有一种有序趋于无序的趋势.
    有序则熵值较低,无序则熵值较高.
    熵的计算公式(这里仅仅讨论离散型):
    S h a n n o E n t = − p i ∑ i = 0 n log ⁡ 2 ( p i ) ShannoEnt = -p_i\sum_{i=0}^{n}\log_2(p_i) ShannoEnt=pii=0nlog2(pi)
  2. 实例:
    假如有一个样本是10个苹果,特征为(形状,颜色,大小),最终分类的标签是(好坏),
    这里特征值我们后面再用到,先看标签,假设这里面有6个好苹果,4个坏苹果那么这个样本的熵计算即为:
    S h a n n o E n t = − 6 10 ∗ log ⁡ 2 ( 6 10 ) − 4 10 ∗ log ⁡ 2 ( 4 10 ) ShannoEnt = -\frac{6}{10}*\log_2(\frac{6}{10})-\frac{4}{10}*\log_2(\frac{4}{10}) ShannoEnt=106log2(106)104log2(104)

条件熵

条件熵:在一个条件下,随机变量的不确定性。

信息熵增

信息增益:熵 - 条件熵

紧接着上面的例子,我们可以把10个苹果按照不同的特征值来分类成不同的集合.比如:我们按大小将十个苹果分类,这里假设大苹果有5个,小苹果5个.注意,这里大苹果集合里可能有好苹果也有坏苹果,小苹果集合同理.假设大苹果集合的熵为 E 1 E_1 E1,小苹果集合为 E 2 E_2 E2,整个集合总的熵为 E n e w E_{new} Enew那么有:
E n e w = 5 10 ∗ E 1 + 5 10 ∗ E 2 E_{new} = \frac{5}{10}*E_1+\frac{5}{10}*E_2 Enew=105E1+105E2
注意这里是加权和,而不是直接相加
E 1 = − x 5 ∗ log ⁡ 2 x 5 − 5 − x 5 ∗ log ⁡ 2 5 − x 5 E_1 = -\frac{x}{5}*\log_2\frac{x}{5}-\frac{5-x}{5}*\log_2\frac{5-x}{5} E1=5xlog25x55xlog255x(x为大苹果中好苹果的个数)
E 2 = − y 5 ∗ log ⁡ 2 y 5 − 5 − y 5 ∗ log ⁡ 2 5 − y 5 E_2 = -\frac{y}{5}*\log_2\frac{y}{5}-\frac{5-y}{5}*\log_2\frac{5-y}{5} E2=5ylog25y55ylog255y(y为小苹果中好苹果的个数)

而所有的资料中都默认 E n e w E_{new} Enew一定是一个小于ShannoEnt的值,也就是说,分类以后一定会变得更加有序,而为何会这样?
我们先只关注好球:
S h a n n o E n t ShannoEnt ShannoEnt中好苹果贡献的熵值为: − 6 10 ∗ log ⁡ 2 6 10 -\frac{6}{10}*\log_2\frac{6}{10} 106log2106
由于x+y=6(好苹果总数),所以 G 1 = − 2 ∗ 3 10 ∗ log ⁡ 2 6 10 G_1 = -2*\frac{3}{10}*\log_2\frac{6}{10} G1=2103log2106
E n e w E_{new} Enew中好苹果贡献的熵值为: − 5 10 ∗ x 5 ∗ log ⁡ 2 x 5 − 5 10 ∗ y 5 ∗ log ⁡ 2 y 5 -\frac{5}{10}*\frac{x}{5}*\log_2\frac{x}{5}-\frac{5}{10}*\frac{y}{5}*\log_2\frac{y}{5} 1055xlog25x1055ylog25y

G 2 = − x 10 ∗ log ⁡ 2 2 x 10 − y 10 ∗ log ⁡ 2 2 y 10 G_2=-\frac{x}{10}*\log_2\frac{2x}{10}-\frac{y}{10}*\log_2\frac{2y}{10} G2=10xlog2102x10ylog2102y

f ( x ) = x 10 ∗ log ⁡ 2 2 x 10 f(x)=\frac{x}{10}*\log_2\frac{2x}{10} f(x)=10xlog2102x
G 1 = − 2 ∗ f ( 3 ) = − 2 ∗ f ( x + y 2 ) G_1=-2*f(3)=-2*f(\frac{x+y}{2}) G1=2f(3)=2f(2x+y) G 2 = − ( f ( x ) + f ( y ) ) G_2=-(f(x)+f(y)) G2=(f(x)+f(y))
那么 f ′ ( x ) = 1 10 ∗ log ⁡ 2 2 x 10 + 1 2 ∗ ln ⁡ 2 f'(x)=\frac{1}{10}*\log_2\frac{2x}{10}+\frac{1}{2*\ln2} f(x)=101log2102x+2ln21
所以 f ′ ′ ( x ) = 1 2 x ∗ ln ⁡ 2 > 0 f''(x)=\frac{1}{2x*\ln2}>0 f(x)=2xln21>0
因此 f ′ ( x ) f'(x) f(x)是一个凹函数
那么有 f ( x ) + f ( y ) > 2 ∗ f ( x + y 2 ) f(x)+f(y)>2*f(\frac{x+y}{2}) f(x)+f(y)>2f(2x+y)
− ( f ( x ) + f ( y ) ) < − 2 ∗ f ( x + y 2 ) -(f(x)+f(y))<-2*f(\frac{x+y}{2}) (f(x)+f(y))<2f(2x+y)
G 2 < G 1 G_2<G_1 G2<G1
即此时信息熵变小了,让整个数据集变得更加有序(如果大小苹果不是相等的5个而是不相等的情况,则证明更加复杂)
我们用另一个变量对原变量分类后,原变量的不确定性就会减小了,因为新增了一个变量的信息,可以感受一下。不确定程度减少了多少就是信息的增益

你可能感兴趣的:(人工智能,机器学习)