熵
- 理论:万物遵循熵增原理 即 世界各种元素总有一种有序趋于无序的趋势.
有序则熵值较低,无序则熵值较高.
熵的计算公式(这里仅仅讨论离散型):
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=0∑nlog2(pi) - 实例:
假如有一个样本是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=−106∗log2(106)−104∗log2(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=105∗E1+105∗E2
注意这里是加权和,而不是直接相加
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=−5x∗log25x−55−x∗log255−x(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=−5y∗log25y−55−y∗log255−y(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}
−106∗log2106
由于x+y=6(好苹果总数),所以
G
1
=
−
2
∗
3
10
∗
log
2
6
10
G_1 = -2*\frac{3}{10}*\log_2\frac{6}{10}
G1=−2∗103∗log2106
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}
−105∗5x∗log25x−105∗5y∗log25y
即 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=−10x∗log2102x−10y∗log2102y
令
f
(
x
)
=
x
10
∗
log
2
2
x
10
f(x)=\frac{x}{10}*\log_2\frac{2x}{10}
f(x)=10x∗log2102x
则
G
1
=
−
2
∗
f
(
3
)
=
−
2
∗
f
(
x
+
y
2
)
G_1=-2*f(3)=-2*f(\frac{x+y}{2})
G1=−2∗f(3)=−2∗f(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)=101∗log2102x+2∗ln21
所以
f
′
′
(
x
)
=
1
2
x
∗
ln
2
>
0
f''(x)=\frac{1}{2x*\ln2}>0
f′′(x)=2x∗ln21>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)>2∗f(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))<−2∗f(2x+y)
即
G
2
<
G
1
G_2<G_1
G2<G1
即此时信息熵变小了,让整个数据集变得更加有序(如果大小苹果不是相等的5个而是不相等的情况,则证明更加复杂)
我们用另一个变量对原变量分类后,原变量的不确定性就会减小了,因为新增了一个变量的信息,可以感受一下。不确定程度减少了多少就是信息的增益