信息熵(entropy)
作用
描述不确定性的大小,值越小越确定,值越大越不确定
历史
香农提出了 ”信息熵“的概念
举例
1: 太阳明天从东边升起(确定的,信息熵小)
2: 明天可能会遇见月食(具有不确定性,信息熵大)
公式
假设有K 个信息集
组成样本集合D
记录第K个信息发生的概率为,(所有Pk 累加起来和为1)
P
k
(
1
≤
k
≤
K
)
P_k (1 \leq k \leq K)
Pk(1≤k≤K)
这个K个信息的信息熵公式,E(D) 的值越小,表示信息越确定,D的纯度越高:
E
(
D
)
=
−
∑
k
=
1
K
P
k
log
2
P
k
E(D) = -\sum_{k=1}^{K}P_k \log_{2}P_k
E(D)=−k=1∑KPklog2Pk
描绘函数曲线图,所有Pk 累加起来和为1,当只有两个信息时,信息熵随概率变化的曲线如图所示:
信息增益
作用
用来描述分类后不确定性 减少的程度,可以作为决策树选择分类条件的依据
公式
Gain(D,A) = E ( D ) − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ⋅ E ( D i ) \text{Gain(D,A)} = \text{E}(D) - \sum_{i=1}^{n} \frac{|D_i|}{|D|} \cdot \text{E}(D_i) Gain(D,A)=E(D)−i=1∑n∣D∣∣Di∣⋅E(Di)
例子
原始数据:
步骤一:求解分类前,是否去游乐场的信息熵
9人去游乐场,5人不去游乐场,依据信息熵公式求解如下:
−
(
9
14
∗
l
o
g
2
9
14
+
5
14
∗
l
o
g
2
5
14
)
=
0.94
-(\frac{{9}}{{14}} * log_2 \frac{{9}}{{14}} + \frac{{5}}{{14}}* log_2 \frac{{5}}{{14}} )= 0.94
−(149∗log2149+145∗log2145)=0.94
步骤二:求解按照天气分类后,是否去游乐场的信息熵
晴去游乐场
晴天2人去游乐场,3人不去游乐场,晴天去游乐场的信息熵求解如下
−
(
2
5
∗
l
o
g
2
2
5
+
3
5
∗
l
o
g
2
3
5
)
=
0.971
-(\frac{{2}}{{5}} * log_2 \frac{{2}}{{5}} + \frac{{3}}{{5}}* log_2 \frac{{3}}{{5}} ) = 0.971
−(52∗log252+53∗log253)=0.971
多云去游乐场
多云4人去游乐场,0人不去游乐场,多云去游乐场的信息熵求解如下
−
(
4
4
∗
l
o
g
2
4
4
)
=
0
-(\frac{{4}}{{4}} * log_2 \frac{{4}}{{4}} ) = 0
−(44∗log244)=0
雨云去游乐场
雨天3人去游乐场,2人不去游乐场,雨天去游乐场的信息熵求解如下
−
(
3
5
∗
l
o
g
2
3
5
+
2
5
∗
l
o
g
2
2
5
)
=
0.971
-(\frac{{3}}{{5}} * log_2 \frac{{3}}{{5}} + \frac{{2}}{{5}}* log_2 \frac{{2}}{{5}} ) = 0.971
−(53∗log253+52∗log252)=0.971
步骤三:求解分类后对比分类前的信息增益
其中 A = ”天气状况“,于是按照天气状况归类后的信息增益为
Gain(D,A)
=
E
(
D
)
−
∑
i
=
1
n
∣
D
i
∣
∣
D
∣
⋅
E
(
D
i
)
\text{Gain(D,A)} = \text{E}(D) - \sum_{i=1}^{n} \frac{|D_i|}{|D|} \cdot \text{E}(D_i)
Gain(D,A)=E(D)−i=1∑n∣D∣∣Di∣⋅E(Di)
0.940
−
(
5
14
∗
0.971
+
4
14
∗
0
+
5
14
∗
0.971
)
=
0.246
0.940-(\frac{{5}}{{14}} *0.971 + \frac{{4}}{{14}}* 0 + \frac{{5}}{{14}} *0.971) = 0.246
0.940−(145∗0.971+144∗0+145∗0.971)=0.246
结论:
按照天气划分后,信息增益为0.246,降低了信息不确定性
决策树何选择根节点?
重复上面步骤二,步骤三的操作,对原始数据按照温度,湿度,是否有风进行归类,分别计算其对应的信息增益如下,可以看出按照天气归类,信息增益(0.24)最大,所以应该选择天气作为根节点。
天气:0.24
温度:0
湿度: 0.045
是否有风: 0.048