记录决策树模型基础知识与发展
决策树基础概念
决策树是一种基本的分类和回归方法。决策树的学习通常包括三个步骤:特征选择、决策树的生成和决策树的修剪。
信息增益
在信息论和概率统计中,熵(entropy)是对 随机变量不确定性 \textbf{随机变量不确定性} 随机变量不确定性的度量
X是一个取有限个值的离散随机变量,P( X = x i X=x_{i} X=xi)= p i p_{i} pi,i=1,2…,n.
随机变量的熵定义为:H(X)=
−
∑
i
=
1
n
p
i
l
o
g
p
i
-\sum_{i=1}^{n}p_{i}log p_{i}
−∑i=1npilogpi,
p
i
=
∣
C
i
∣
∣
D
∣
p_{i}=\frac{|C_{i}|}{|D|}
pi=∣D∣∣Ci∣,
∣
C
i
∣
|C_{i}|
∣Ci∣表示样本D中属于第i类的样本数,n是总类别数。
熵越大,随机变量的不确定性越大,0
≤
\leq
≤H§
≤
\leq
≤logn ,当均匀分布时,熵的值最大,由于均匀分布时,限定最小,不确定性最大,熵取最大值。
假设经过特征A,样本D被划分成K个子集 D i D_{i} Di,每个子集的信息熵为 H ( D i ) = − ∑ j = 1 n ∣ D i j ∣ ∣ D i ∣ l o g ∣ D i j ∣ ∣ D i ∣ H(D_{i})=-\sum_{j=1}^{n}\frac{|D_{ij}|}{|D_{i}|}log\frac{|D_{ij}|}{|D_{i}|} H(Di)=−∑j=1n∣Di∣∣Dij∣log∣Di∣∣Dij∣,总的信息熵为: H ( D ∣ A ) = − ∑ i = 1 K ∣ D i ∣ ∣ D ∣ ∑ j = 1 n ∣ D i j ∣ ∣ D i ∣ l o g ∣ D i j ∣ ∣ D i ∣ H(D|A)=-\sum_{i=1}^{K}\frac{|D_{i}|}{|D|}\sum_{j=1}^{n}\frac{|D_{ij}|}{|D_{i}|}log\frac{|D_{ij}|}{|D_{i}|} H(D∣A)=−∑i=1K∣D∣∣Di∣∑j=1n∣Di∣∣Dij∣log∣Di∣∣Dij∣
信息增益表示得知特征X的信息而使得类Y的信息不确定性减少的程度,表示为g(D,A)=H(D)-H(D|A)
2. ID3
信息增益越大,分裂之后样本的信息熵越小,意味着同类别的样本聚集到了一起。对于每一个特征,计算该特征下的信息增益,选择信息增益最大的特征A作为当前节点,以此类推。
3. C4.5
假如有一个特征,经过该特征之后,所有的样本都被单独划分开,即每一个子集都只有一个样本,这样的特征其实没有多大意义,并没有很好的实现“物以类聚”,但是因为经过它之后所有样本都被划分开了,此时所有子集的信息熵最小,因而信息增益最大,所以ID3算法会优先选取这样的特征
在计算信息增益的时候,不仅考虑了每一个子集的类别信息熵(类别纯度的衡量),包含了所有子集样本分布的影响(子集越多,样本在所有子集中分布越均衡,熵就越小),后者对于样本的正确分类没有很大作用,因此需要消除经过特征后样本分布带来的信息增益。
经过特征A后样本分布的信息熵为 H A ( D ) H_{A}(D) HA(D), H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g ∣ D i ∣ ∣ D ∣ H_{A}(D)=-\sum_{i=1}^{n}\frac{|D_{i}|}{|D|}log \frac{|D_{i}|}{|D|} HA(D)=−∑i=1n∣D∣∣Di∣log∣D∣∣Di∣
新的评价指标: g R ( D , A ) = g ( D , A ) H A ( D ) g_{R}(D,A)=\frac{g(D,A)}{H_{A}(D)} gR(D,A)=HA(D)g(D,A),得到信息增益比
4.CART
ID3树与C4.5树是多分类树,CART树是二叉树,可用于分类和回归。
CART分类
对于分类问题,CART树采用基尼系数作为评价指标,对每一个样本,要不然它属于第k类,要不然不属于第k类。
G
i
n
i
(
D
)
=
∑
k
=
1
K
p
k
(
1
−
p
k
)
Gini(D)=\sum_{k=1}^{K}p_{k}(1-p_{k})
Gini(D)=∑k=1Kpk(1−pk),其中
p
k
=
∣
C
k
∣
∣
D
∣
p_{k}=\frac{|C_{k}|}{|D|}
pk=∣D∣∣Ck∣,
∑
k
=
1
K
p
k
=
1
\sum_{k=1}^{K}p_{k}=1
∑k=1Kpk=1,所以Gini(D)=
1
−
∑
k
=
1
K
(
∣
C
k
∣
∣
D
∣
)
2
1-\sum_{k=1}^{K}(\frac{|C_{k}|}{|D|})^2
1−∑k=1K(∣D∣∣Ck∣)2
从给定的特征中选取特征A,由于是一个二叉树,所以分裂后的子集只有两个 D 1 和 D 2 D_{1}和D_{2} D1和D2
那么分裂后的基尼指数为Gini(D,A)= ∣ D 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i ( D 2 ) \frac{|D_{1}|}{|D|}Gini(D_{1})+\frac{|D_{2}|}{|D|}Gini(D_{2}) ∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
基尼指数和信息熵类似,也是衡量样本集合的混乱程度,即不确定性.选择使基尼指数最小的特征作为当前最优特征
CART回归
遍历所有特征,每个特征下找到一个最优分割点,比较不同特征带来的均方误差,选取误差最小的特征作为当前的分裂节点,样本经过这个特征会分成左右两个子集,再对子集进行同样的特征选取策略即可.
(1)对于所有的特征j与分割点s,选择最优的特征
j
^
\widehat{j}
j
和最优的分割点
s
^
\widehat{s}
s
,使得真实值与预测值的均方误差最小
m
i
n
j
,
s
(
∑
x
∈
R
1
(
y
i
−
c
1
)
2
+
∑
x
∈
R
2
(
y
i
−
c
2
)
2
)
min_{j,s}(\sum_{x\in R_{1}}(y_{i}-c_{1})^2+\sum_{x\in R_{2}}(y_{i}-c_{2})^2)
minj,s(∑x∈R1(yi−c1)2+∑x∈R2(yi−c2)2)
其中 c 1 c_{1} c1=average( ∑ x ∈ R 1 y i \sum_{x \in R_{1}y_{i}} ∑x∈R1yi), c 2 c_{2} c2=average( ∑ x ∈ R 2 y i \sum_{x \in R_{2}y_{i}} ∑x∈R2yi), R 1 R_{1} R1={ x ∣ x ( j ^ ) < s ^ x|x^{(\widehat{j})}<\widehat{s} x∣x(j )<s }, R 2 R_{2} R2={ x ∣ x ( j ^ ) > s ^ x|x^{(\widehat{j})}>\widehat{s} x∣x(j )>s }
(2)对上述的两个区域 R 1 R_{1} R1与 R 2 R_{2} R2继续分别进行最优特征与最优分割点的选择,直到满足构建决策树的停止条件
(3)将每次分割的两个区域与之前的叠加,最终把输入空间分割为 R 1 R 2 . . . R M R_{1} R_{2} ...R_{M} R1R2...RM,最终的回归树 f ( x ) = ∑ m = 1 M c m I ( x ∈ R m ) f(x)=\sum_{m=1}^{M}c_{m}I(x\in R_{m}) f(x)=∑m=1McmI(x∈Rm), c m c_{m} cm为每个 R m R_{m} Rm区域内样本的均值
参考资料:https://zhuanlan.zhihu.com/p/123021606