决策树划分选择算法


决策树是一种很常见的分类学习算法,大致基本算法流程如下(截自周志华老师《机器学习》):
决策树基本算法

依据结点(即数据属性)划分数据集,一般而言,随着划分过程的不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一个类别,即结点的“纯度”决策树的分类效果才有效果,否则如果在该分支节点下每个分支样本类别包含样本混杂,说明在该结点没有较好的划分数据的作用,因此如何选择最优划分属性成为决策树中最重要的步骤之一,以下有3种方式,但思想共通。

ID3决策树学习算法

ID3决策树学习算法就是以信息增益准则来选择划分属性。

信息熵

“信息熵”是度量样本集合纯度最常用的一种指标,也可以理解为样本类别不确定性的度量,下面为熵的定义:
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)= -\displaystyle\sum_{k=1}^{|y|} p_klog_2{p_k} Ent(D)=k=1ypklog2pk
其中 p k p_k pk表示样本集合 D D D中第 k k k类样本所占的比例 ( k = 1 , 2 , . . . , ∣ y ∣ ) (k=1,2,...,|y|) (k=1,2,...,y),规定:若 p = 0 p=0 p=0,则 p l o g 2 p = 0 plog_2{p}=0 plog2p=0
当样本集合 D D D中只有一类样本时,该样本集合纯度最高, E n t ( D ) Ent(D) Ent(D)的值为0;当样本集合 D D D中同时含有多个样本时,样本集合混乱, E n t ( D ) Ent(D) Ent(D)就会变大。所以一般来说 E n t ( D ) Ent(D) Ent(D)越小,说明该样本集合纯度越高;反之亦然。

信息增益

现在对样本集合 D D D进行划分,假定第一次划分根据的属性为样本属性 a a a,样本属性 a a a V V V个可能的取值 { a 1 , a 2 , . . . , a V a^1,a^2,...,a^V a1a2...aV},就会产生 V V V个分支,其中第 m ( 0 < m < V ) m(0<m<V) m(0<m<V)个分支包含样本中所有在属性 a a a上取值为 a m a^m am的样本,这些样本重新组成集合 D m D^m Dm。根据熵公式计算出 D m D^m Dm的信息熵,考虑到 D m D^m Dm所包含的样本数与 D D D不同,为 D m D^m Dm的信息熵赋予权重 ∣ D m ∣ ∣ D ∣ \frac{|D^m|}{|D|} DDm(表示 D m D^m Dm所含样本数与 D D D所含样本数之比),此时 D m D^m Dm调整后的信息熵为 ∣ D m ∣ ∣ D ∣ E n t ( D m ) \frac{|D^m|}{|D|}Ent(D^m) DDmEnt(Dm),属性 a a a取值为 a m a^m am的样本数越多,其影响越大。由于属性 a a a V V V个取值,所以由 a a a属性划分下的信息熵为:
E n t ( D a ) = − ∑ m = 1 V ∑ k = 1 ∣ y ∣ ∣ D m ∣ ∣ D ∣ p k l o g 2 p k = ∑ m = 1 V ∣ D m ∣ ∣ D ∣ E n t ( D m ) Ent(D_a)= -\displaystyle\sum_{m=1}^{V}\displaystyle\sum_{k=1}^{|y|}\frac{|D^m|}{|D|} p_klog_2{p_k}=\displaystyle\sum_{m=1}^{V}\frac{|D^m|}{|D|}Ent(D^m) Ent(Da)=m=1Vk=1yDDmpklog2pk=m=1VDDmEnt(Dm)
“信息增益”可以理解为在进行一次划分后原样本集合纯度所提高量的衡量指标,在进行第一次划分后的“信息增益”为:
G a i n ( D , a ) = E n t ( D ) − E n t ( D a ) = E n t ( D ) − ∑ m = 1 V ∣ D m ∣ ∣ D ∣ E n t ( D m ) Gain(D, a)=Ent(D)-Ent(D_a)=Ent(D)-\displaystyle\sum_{m=1}^{V}\frac{|D^m|}{|D|}Ent(D^m) Gain(D,a)=Ent(D)Ent(Da)=Ent(D)m=1VDDmEnt(Dm)
一般来说,信息增益越大,样本划分后提升的纯度越大,因此我们可以使用信息增益来选择划分属性,即选择属性 a a a使 G a i n ( D a ) Gain(D_a) Gain(Da)最大。

C4.5决策树学习算法

由于ID3信息增益算法不能解决由属性取值多少带来的影响,如有一样本集合,每个样本有其独有的一个编号,现在划分属性选择样本编号,就会导致划分后样本的熵值为0,此时能得到最大限度的信息增益。但显然不能讲样本序号最为划分属性,由此训练出来的模型不具备泛化能力。
考虑到这一问题,产生了C4.5决策树算法,可以说是ID3算法的一个拓展,C4.5不直接使用信息增益,而是使用“增益率”来选择最优划分属性,增益率定义为:
G a i n _ r a t i o = G a i n ( D , a ) I V ( a ) Gain\displaystyle \_ratio=\displaystyle \frac{Gain(D,a)}{IV(a)} Gain_ratio=IV(a)Gain(D,a)
其中 I V ( a ) = − ∑ m = 1 V ∣ D m ∣ ∣ D ∣ l o g 2 ∣ D m ∣ ∣ D ∣ IV(a)=-\displaystyle \sum_{m=1}^{V}\frac{|D^m|}{|D|}log_2\frac{|D^m|}{|D|} IV(a)=m=1VDDmlog2DDm
当这样定义之后,再次回到属性取值数量问题,如果还是以样本序号作为划分属性,此时 I V IV IV值将会迅速变大,从而拉低 G a i n _ r a t i o Gain\displaystyle \_ratio Gain_ratio,使属性取值过多的属性不能作为划分属性。
一般来说,信息增益率越大,对应属性越可能作为划分属性,解决问题!

CART决策树学习算法

CART决策树使用“基尼指数”来选择划分属性,样本集合的纯度用基尼值来度量:

G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ = ∑ k = 1 ∣ y ∣ p k ( 1 − p k ) = 1 − ∑ k = 1 ∣ y ∣ p k 2 Gini(D)=\displaystyle \sum_{k=1}^{|y|}\displaystyle \sum_{k'\neq k}p_kp_{k'}=\displaystyle \sum_{k=1}^{|y|}p_k(1-p_k)=1-\displaystyle \sum_{k=1}^{|y|}p_k^2 Gini(D)=k=1yk=kpkpk=k=1ypk(1pk)=1k=1ypk2
∑ k ′ ≠ k p k p k ′ \displaystyle \sum_{k'\neq k}p_kp_{k'} k=kpkpk可以理解成在有放回的抽样中,依次抽两个样本,一样本类别为 k k k,一样本类别不为 k k k的概率,那么 ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ \displaystyle \sum_{k=1}^{|y|}\displaystyle \sum_{k'\neq k}p_kp_{k'} k=1yk=kpkpk就可以理解成有放回的抽取两个样本,其类别不一致的概率,这就是 G i n i Gini Gini指数的直观理解。因此,一般来说, G i n i Gini Gini指数越小,抽到类别不一致样本的概率就小,样本集合纯度越高。
假定选择属性 a a a作为划分节点,则定义划分后样本集合的 G i n i Gini Gini指数为:
G i n i _ i n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ G i n i ( D v ) Gini\_index(D,a)=\displaystyle\sum_{v=1}^{V}\frac{|D^v|}{|D|}Gini(D^v) Gini_index(D,a)=v=1VDDvGini(Dv)
与ID3算法类似, ∣ D v ∣ ∣ D ∣ \frac{|D^v|}{|D|} DDv a a a属性下取值为 v v v的样本集合的 G i n i Gini Gini指数的权重。因此,我们的目标就变成寻找使划分后 G i n i Gini Gini指数最小的属性作为最优划分属性。



《机器学习》读书笔记 2021/6/23

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值