统计学习方法--决策树

原创 2017年01月03日 22:54:06

概述

决策树(Decision tree)一种常见的回归和分类的方法,决策树易于理解,其符合人类的思维方式,便于解释等特点。决策树的学习过程通常分为3个步骤:特征选择、决策树的生成、剪枝。
决策树可以看出一个if-then规则的集合,下面给出一副图进行对决策树宏观的认识,这里我们的任务是要将红色的点和绿色的点进行分类:

这里写图片描述

在平面上选择最好的划分点,即如何切分数据点效果最好,如下图所示的,黑线左边和右边被分成两类,左边的为绿色,右边为红色,显然这样会有很大的误差,因此需要更多的划分点。

这里写图片描述

经过一系列划分后,得到如下的图形,红色和绿色被黑框进行分割。

这里写图片描述

最后得到其划分的流程图如下所示:

这里写图片描述

上面的一个很自然的问题是,如何找到最优的切分点,即我如何切这一刀使得其划分的结果尽可能好,注意这里的用词,因为决策树中选择最优决策树是NP完全问题,所以在现实中采用启发式的方法,也就是我们选择的是贪婪的算法,没次划分的都是当前结果中最优的划分。
如何选择划分点也就是决策树的特征选择的步骤。

特征选择

不纯性度量

特征选择,即从当前的特征中选择一个能将样本划分最好的特征的算法,通常选择最佳划分的度量是根据划分后子女节点的不纯性的纯度。不纯的程度越低,类的分别越倾斜。不纯性的度量包括:

这里写图片描述

上述分别为基尼指数、信息熵和分类误差,其中 pk为第k类的概率。
在二分类问题上三个不纯度度量之间的比较,可以看到它们的度量是一直的在p=0.5时不纯度 最高,此时需要较多的信息,而p=0,p=1时不纯度为0,因为我不需要知道任何信息即可将它们分开。即不存度越高,所需要的信息就越多。

这里写图片描述

在决策树的构造中,最常用的三种算法为:ID3,C4,5和CART算法。

信息增益

设训练数据为D,则特征A对训练集D的信息增益g(D,A),定义为集合D的信息熵与特征A给定的条件下的经验熵之差,即:

g(D,A)=H(D)H(D|A)

设训练集D共有k个类别|D|表示训练样本的个数,|Ck|表示第k个类的个数,其中A共有n个属性,经A划分后可以将D划分为:D1,D2,...Dn个子集每个最忌的个数为Di经验熵为这些子集信息熵的加权平均,计算公式如下图所示。

这里写图片描述

信息增益比

从上述可以看到如果一个特征具有很多个属性的话,因此在选择特征是,会偏向于选择属性较多的特征,因为属性较多,会分成更多的子集,解决这一问题可以用信息增益比,这是特征选择的另一准则,信息增益比为:

gR(D,A)=g(D,A)HA(D)

其中HA(D)=ni=1pilog(pi),其中pi为第i个子集的概率。

ID3,C4.5,CART的比较

下面给出三种决策树构建算法的简单宏观的比较:

这里写图片描述

下面分别对其进行介绍。

ID3算法

ID3算法,即选择能使得信息增益最大的特征作为当前的划分要本的特征。然后递归的构建决策树。具体方法为:
从根节点开始,对节点计算所有可能特征的信息增益,选择信息增益最大的节点作为划分的特征,有该特征的不同取值建立子节点,在对子节点递归的挑用以上方法。直到左右的特征的信息增益均很小或者没有特征可以选择了,最后得到一颗决策树。
有关构造决策树的具体代码可以参考:基于ID3算法生成决策树

C4.5算法

与ID3算法非常的类似,只不过用信息增益比来代替ID3中的信息增益而已。

CART算法

分类与回归树(classification and regression tree,CART)是一种广泛的决策树学习方法,其中它既可以做分类也可以做回归,同时CART与ID3和C4.5所不同的一点是他是个二叉树,即每次划分都是是与不是。

CART的生成就是递归的构建二叉决策树的过程,其中对回归树用平方误差最小化的准则,儿对分类树用基尼指数(Gini index)最小化的准则。

回归树的生成

一个回归树对应于将输入空间D划分为M个单元R1,R2,...Rm,并且在每个单元上的输出值为在此单元上所有的数据的平均值,即如果测试的要本落在了Ri这个空间中,则其输出的值为:

cm=ave(yi|xiRm)

主要的问题是我们如何进行空间的划分,下面给出以最新二乘回归树的生成算法:

这里写图片描述
来源:统计学习方法

分类树的生成

假设有K个类,样本点属于k的概率为 pk,则概率分布的基尼指数为:

Gini(p)=k=1kpk(1pk)

在CART的算法中,生成的是二叉树,因此k=2,所以基尼指数变为:

Gini(p)=2p(1p)

具体生成的算法与ID3和C4.5类似,不再赘述。

决策树的剪枝

在决策树问题中,处理过拟合的方法为剪枝,其中剪枝分为先剪枝和后剪枝。

先剪枝

在这种方法中,在完全拟合整个训练集之前就停止决策树的生长。因此要采取一些提前结束的条件,比如说:当观察到不纯性度量的增益低于某个确定的阈值是就停止扩展叶子节点。这种方法有点在于避免产生过分拟合训练数据的过于复杂的子树,然而,很难为提前终止选取正取的阈值。阈值太高容易欠拟合,太低过拟合。

后剪枝

在此方法中,初始的决策树按最大规模增长,然后对其进行剪枝,按照自第向上的方法进行对决策树的修剪。
决策树越复杂一般来说对训练数据的拟合越好,其有更多的叶子节点,为了避免其过于复杂的模型,一般的做法都是给其一个惩罚。因此决策树的剪枝往往通过极小化损失函数(loss function)来实现。
Loss function :

Cα=C(T)+α|T|

其中|T|为叶子节点的个数,C(T)表示模型对训练样本的预测误差。因此当 α 确定后,如果在一颗子树的损失反而小于其分裂后的损失,则让父节点充当该子树的叶子节点,即当:
Cα(Ta)<=Cα(Tb)

则将父节点作为叶子节点,关于更多可以参考相应的资料。

决策树的优缺点

Good properties:
1.Inexpensive to construct
2.Variable selection
3.Interaction detection
4.Easy to interpret for small-sized trees
5.Missing data
6.Mixed variable types
7.Robustness; invariant to monotone transformations of input variables

Weak properties:
1. Instability
2. Difculty in modeling additive structures

参考资料:

1.Ji Zhu, Michigan Statistics
2.统计学习方法
3.机器学习
4.数据挖掘导论
5.七月在线

版权声明:本文为博主原创文章,未经博主允许不得转载。

[统计学习方法]决策树

决策树其实就是一个if-else的集合,在应用中,如果给定一个输入,不断的通过if-else的判断,可以得到理想的输出。对应到树上,也就是每一个节点是一个判断条件,而是否满足这个判断条件决定了该走到这...
  • magicnumber
  • magicnumber
  • 2015年03月08日 20:47
  • 1937

《统计学习方法》笔记(5):决策树

决策树是一种基本的分类与回归方法,可以将其理解为一连串的if-then规则集合。构建一棵决策树一般要经过三个步骤:特征参量的选择、决策树的生成以及决策树的剪枝。主要的决策树算法有ID3、C4.5和CA...
  • elecjack
  • elecjack
  • 2016年04月04日 16:20
  • 810

《统计学习方法》第五章决策树学习笔记

决策树这章相关的内容主要分为三部分:特征选择,建树,剪枝。 决策树的种类有ID3,C4.5以及CART 三种。一 特征选择1. 熵熵(entropy)的定义:是表示随机变量X不确定性的度量。...
  • wjlucc
  • wjlucc
  • 2017年03月31日 11:44
  • 533

统计学习方法:决策树

5.1 决策树模型与学习 5.1.1 决策树模型 分类决策树模型是一种描述对实例进行分类的树形结构,由结点和有向边组成,结点由内部结点和叶节点,内部节点表示一个特征或者属性,叶节点表示一个类。 ...
  • xxiaozr
  • xxiaozr
  • 2017年04月19日 16:26
  • 246

《统计学习方法》笔记(六)--决策树

可以用于分类和回归,书中只介绍分类树用于分类 定性:是一种判别式模型 思路:利用训练数据,根据损失函数最小化的原则建立决策树模型,对于新的数据利用建立的决策树进行分类 决策树学习的主要步骤:特征...
  • si_ma_yu_he
  • si_ma_yu_he
  • 2015年06月30日 08:43
  • 565

统计学习方法 李航---第5章 决策树

第5章 决策树 决策树(decision tree)是一种基本的分类与回归方法。本章主要讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-...
  • demon7639
  • demon7639
  • 2016年03月30日 09:54
  • 2120

五、决策树--统计学习方法总结

五决策树 1决策树模型与学习 11决策树模型 12决策树与if-then规则 13决策树与条件概率分布 14决策树学习 2特征选择 21特征选择问题 22信息增益 23信息增益比 3决策树的生成 31...
  • lemonaha
  • lemonaha
  • 2016年12月26日 15:05
  • 1424

李航 统计学习方法 第五章 决策树 课后 习题 答案

决策树是一种基本的分类和回归方法。决策树呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义在特征空间和类空间上的条件概率分布。学习时,利...
  • familyshizhouna
  • familyshizhouna
  • 2017年07月24日 11:30
  • 2455

《统计学习方法》 决策树 CART生成算法 分类树 Python实现

《统计学习方法》 决策树 CART生成算法 生成一个分类算法
  • tudaodiaozhale
  • tudaodiaozhale
  • 2017年08月22日 16:58
  • 190

《统计学习方法》笔记05:决策树模型

《统计学习方法》笔记05:决策树模型决策树模型:由训练数据集估计条件概率模型。学习算法:ID3,L4.5,CART三种。5.1 预备知识1. 熵熵可用来衡量一个随机变量的概率分布的不确定性情况。当随机...
  • niaolianjiulin
  • niaolianjiulin
  • 2017年07月28日 15:45
  • 342
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:统计学习方法--决策树
举报原因:
原因补充:

(最多只允许输入30个字)