目录
决策树
分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个类。
用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值。如此递归地对实例进行测试并分配,直至达到叶结点。最后将实例分到叶结点的类中。
决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程。由于决策树表示一个条件概率分布,所以深浅不同的决策树对应着不同复杂度的概率模型。决策树的生成对应于模型的局部选择,决策树的剪枝对应于模型的全局选择。决策树的生成只考虑局部最优,相对地,决策树的剪枝则考虑全局最优。决策树学习常用的算法有ID3、C4.5与CART。
一些重要的概念
信息熵Entropy
含义
用来衡量信息不确定性的指标,其中不确定性是指一个事件出现不同结果的可能性。
数学定义
(1) H ( X ) = − ∑ i = 1 n P ( X = i ) log 2 P ( X = i ) \begin{aligned} H(X)=-\sum_{i=1}^{n} P(X=i) \log _{2} P(X=i)\tag{1} \end{aligned} H(X)=−i=1∑nP(X=i)log2P(X=i)(1)
条件熵Conditional Entropy
含义
是通过获得更多的信息来减小不确定性。知道的信息越多,信息的不确定性越小。
数学定义
(2)
H
(
X
∣
Y
)
=
∑
v
∈
v
a
l
u
e
s
(
Y
)
P
(
Y
=
v
)
H
(
X
∣
Y
=
v
)
\begin{aligned} H(X | Y)=\sum_{v \in v a l u e s(Y)} P(Y=v) H(X | Y=v)\tag{2} \end{aligned}
H(X∣Y)=v∈values(Y)∑P(Y=v)H(X∣Y=v)(2)
(3)
H
(
X
∣
Y
=
v
)
=
−
∑
i
=
1
n
P
(
X
=
i
∣
Y
=
v
)
log
2
P
(
X
=
i
∣
Y
=
v
)
\begin{aligned} H(X | Y=v)=-\sum_{i=1}^{n} P(X=i | Y=v) \log _{2} P(X=i | Y=v)\tag{3} \end{aligned}
H(X∣Y=v)=−i=1∑nP(X=i∣Y=v)log2P(X=i∣Y=v)(3)
信息增益Information Gain
含义
表示得知特征X的信息而使得类Y的信息不确定性减少的程度
数学定义
(4) g ( X , Y ) = H ( X ) − H ( X ∣ Y ) = H ( Y ) − H ( Y ∣ X ) \begin{aligned} g(X, Y)=H(X)-H(X | Y)=H(Y)-H(Y | X)\tag{4} \end{aligned} g(X,Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)(4)
补充
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)
示例
如图,有以上数据集D,根据信息D选择最优特征,特征
A
1
A_1
A1年龄,
A
2
A_2
A2有工作,
A
3
A_3
A3有自己的房子,
A
4
A_4
A4贷款情况,类别
Y
Y
Y
Step 1:计算经验熵
H
(
D
)
H(D)
H(D)
(5)
H
(
D
)
=
−
9
15
log
2
9
15
−
6
15
log
2
6
15
=
0.971
\begin{aligned} H(D)=-\frac{9}{15} \log _{2} \frac{9}{15}-\frac{6}{15} \log _{2} \frac{6}{15}=0.971\tag{5} \end{aligned}
H(D)=−159log2159−156log2156=0.971(5)
Step 2:计算计算各特征对数据集D的信息增益
(6)
g
(
D
,
A
1
)
=
H
(
D
)
−
[
5
15
H
(
D
1
)
+
5
15
H
(
D
2
)
+
5
15
H
(
D
3
)
]
=
0.971
−
[
5
15
(
−
2
5
log
2
2
5
−
3
5
log
2
3
5
)
+
5
15
(
−
3
5
log
2
3
5
−
2
5
log
2
2
5
)
+
5
15
(
−
4
5
log
2
4
5
−
1
5
log
2
1
5
)
]
=
0.971
−
0.888
=
0.083
\begin{aligned} \begin{aligned} g\left(D, A_{1}\right)=& H(D)-\left[\frac{5}{15} H\left(D_{1}\right)+\frac{5}{15} H\left(D_{2}\right)+\frac{5}{15} H\left(D_{3}\right)\right] \\=& 0.971-\left[\frac{5}{15}\left(-\frac{2}{5} \log _{2} \frac{2}{5}-\frac{3}{5} \log _{2} \frac{3}{5}\right)\right.\\ &+\frac{5}{15}\left(-\frac{3}{5} \log _{2} \frac{3}{5}-\frac{2}{5} \log _{2} \frac{2}{5}\right)+\frac{5}{15}\left(-\frac{4}{5} \log _{2} \frac{4}{5}-\frac{1}{5} \log _{2} \frac{1}{5}\right) ] \\=& 0.971-0.888=0.083 \end{aligned}\tag{6} \end{aligned}
g(D,A1)===H(D)−[155H(D1)+155H(D2)+155H(D3)]0.971−[155(−52log252−53log253)+155(−53log253−52log252)+155(−54log254−51log251)]0.971−0.888=0.083(6)
(7)
g
(
D
,
A
2
)
=
H
(
D
)
−
[
5
15
H
(
D
1
)
+
10
15
H
(
D
2
)
]
=
0.971
−
[
5
15
×
0
+
10
15
(
−
4
10
log
2
4
10
−
6
10
log
2
6
10
)
]
=
0.324
\begin{aligned} \begin{aligned} g\left(D, A_{2}\right) &=H(D)-\left[\frac{5}{15} H\left(D_{1}\right)+\frac{10}{15} H\left(D_{2}\right)\right] \\ &=0.971-\left[\frac{5}{15} \times 0+\frac{10}{15}\left(-\frac{4}{10} \log _{2} \frac{4}{10}-\frac{6}{10} \log _{2} \frac{6}{10}\right)\right]=0.324 \end{aligned}\tag{7} \end{aligned}
g(D,A2)=H(D)−[155H(D1)+1510H(D2)]=0.971−[155×0+1510(−104log2104−106log2106)]=0.324(7)
(8)
g
(
D
,
A
3
)
=
0.971
−
[
6
15
×
0
+
9
15
(
−
3
9
log
2
3
9
−
6
9
log
2
6
9
)
]
=
0.971
−
0.551
=
0.420
\begin{aligned} \begin{aligned} g\left(D, A_{3}\right) &=0.971-\left[\frac{6}{15} \times 0+\frac{9}{15}\left(-\frac{3}{9} \log _{2} \frac{3}{9}-\frac{6}{9} \log _{2} \frac{6}{9}\right)\right] \\ &=0.971-0.551=0.420 \end{aligned}\tag{8} \end{aligned}
g(D,A3)=0.971−[156×0+159(−93log293−96log296)]=0.971−0.551=0.420(8)
(9)
g
(
D
,
A
4
)
=
0.971
−
0.608
=
0.363
\begin{aligned} g\left(D, A_{4}\right)=0.971-0.608=0.363\tag{9} \end{aligned}
g(D,A4)=0.971−0.608=0.363(9)
Step 3:最后,比较各特征的信息增益值。由于特征
A
3
A_3
A3(有自己的房子)的信息增益值最大,所以选择特征
A
3
A_3
A3 作为最优分类特征。
决策树的生成
ID3
C4.5
决策树总结
随机森林
集成学习
同时训练多个决策树,预测的时候,综合考虑多个结果做预测。例如取多个结果的众数,均值等
随机性体现在两点:
1. 从原来的训练数据集(带放回)取一个子集作为森林中某一个决策树的训练数据集
2. 每一次选择分叉的特征时,限定为在随机选择的特征的子集中寻找一个特征
两个优势:
1. 消除了决策树容易过拟合的缺点
2. 见笑了预测的variance;预测值不会因为训练数据的小变化而剧烈变化
作业代码:https://github.com/JackUCASer/decision-tree-and-random-forest
参考
[1]. 李航. 统计学习方法[M]. 2012.
[2]. 贪心科技-机器学习特训营课程