Decision tree

决策树(decision tree)

决策树学习主要分为3个步骤:特征选择、树的生成和剪枝策略
常用的决策树算法有ID3,C4.5,CART等。
优点

  • 基于if-then规则,具有天然的可解释性,容易可视化;
  • 每个特征单独处理,因此数据的缩放不影响划分,不需要做归一化、标准化的预处理。

缺点
即使做了剪枝,也容易过拟合,因此往往用bagging或boosting等集成学习方法代替单棵树。


特征选择
1.信息增益

ID3决策树学习算法以信息增益为特征选择的准则,信息增益 = 信息熵 - 条件熵。
其中,信息熵代表随机变量的不确定性,其计算公式如下, K K K为标签类别的取值数:
E n t ( D ) = − ∑ k = 1 K p k log ⁡ p k Ent(D)=-\sum_{k=1}^Kp_k\log p_k Ent(D)=k=1Kpklogpk

条件熵代表在某一个条件下,随机变量的不确定性 V V V为特征 A A A的取值数:
E n t ( D ∣ A ) = ∑ v = 1 V ∣ D v ∣ D E n t ( D v ) Ent(D|A)=\sum_{v=1}^V \cfrac{|D^v|}{D}Ent(D^v) Ent(DA)=v=1VDDvEnt(Dv)

信息增益即为:
G a i n ( D , A ) = E n t ( D ) − E n t ( D ∣ A ) Gain(D,A) =Ent(D) - Ent(D|A) Gain(D,A)=Ent(D)Ent(DA)

一般情况下,信息增益越大,带来的收益越高

2.信息增益比

以信息增益作为特征选择的依据,会存在偏向于选择取值比较多的特征的问题。因此C4.5采用了信息增益比作为特征选择的依据,来对此问题进行校正。
信息增益比定义为:
G a i n _ r a t i o ( D , A ) = G a i n ( D , A ) I V ( A ) Gain\_ratio(D,A) = \cfrac{Gain(D,A)}{IV(A)} Gain_ratio(D,A)=IV(A)Gain(D,A)

其中, I V ( A ) IV(A) IV(A)称为特征A的“固有值”:
I V ( A ) = − ∑ v = 1 V ∣ D v ∣ D log ⁡ ∣ D v ∣ D IV(A) = - \sum_{v=1}^V \cfrac{|D^v|}{D}\log \cfrac{|D^v|}{D} IV(A)=v=1VDDvlogDDv

特征取值数目越多,则 I V ( A ) IV(A) IV(A)的值通常会越大,因此信息增益比对取值比较少的特征有偏好

3.基尼指数

CART决策树( classification and regression tree)即可用于分类,也可以用于回归。
分类树采用基尼指数(Gini index)来进行特征选择,而回归树采用平方误差作为依据。

数据集D的不确定性可以用基尼值进行度量:
G i n i ( D ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini(D) = \sum_{k=1}^Kp_k(1-p_k)=1- \sum_{k=1}^Kp_k^2 Gini(D)=k=1Kpk(1pk)=1k=1Kpk2

特征A的基尼指数定义如下:
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) = \sum_{v=1}^V \cfrac{|D^v|}{D}Gini(D^v) Gini_index(D,A)=v=1VDDvGini(Dv)

计算后选取基尼指数最小的特征作为最优划分特征。


剪枝策略

剪枝是决策树学习算法对付过拟合的主要手段,主要分为“预剪枝”和“后剪枝”。

预剪枝

预剪枝基于“贪心”本质禁止树的一些分支展开,具体可以通过限制树的最大深度,内部节点的最小样本数和叶节点的最大数等等的手段来实现。
优点:不需要生成整颗决策树,相对于后剪枝,时间花销较小,算法相对简单,适合大规模问题。
缺点:限制了视野。当前的分支划分不能提升泛化性能,但后续进行的划分却可能显著提升泛化性能,因此预剪枝抛弃了这些可能。

后剪枝

后剪枝是在完全生成决策树之后进行的,自底向上地考察每个非叶结点,可以根据验证集的一些性能指标,决定是否剪枝。
优点:一般情况下,后剪枝比预剪枝的泛化能力要强。
缺点:时间花销太大,算法实现复杂。


Note

1.CART与ID3、C4.5的区别

  • CART既可以用于分类(基尼指数),也可以用于回归(平方误差);
  • CART只能是二叉树,而ID3、C4.5可以是多叉树;

参考资料

李航《统计学习方法》
周志华《机器学习》
通俗理解决策树算法中的信息增益:https://zhuanlan.zhihu.com/p/26596036

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值