决策树

决策树

介绍:决策树由结点和有向边组成,内部结点表示一个特征或属性,叶结点表示一个类。本质上决策树是通过一系列规则对数据进行分类的过程,发现数据模式和规则的核心是归纳算法。归纳学习存在一个基本的假设:任一假设如果能够在足够大的训练样本集中很好的逼近目标函数,则它也能在未见样本中很好地逼近目标函数。

学习算法包括:特征选择、决策树生成、决策树的剪枝。生成对应模型的局部选择,采用贪心的策略考虑局部最优;剪枝对应模型的全局选择,考虑全局最优。常用算法:ID3、C4.5、CART。三个算法的区别在于特征选择的策略不同:ID3使用信息增益,C4.5使用信息增益比,CART使用Gini指数,都是为了使当前数据集的不确定性即混乱程度降低。

决策树学习算法ID3


熵、信息增益和特征选择

熵是描述事物无序性的参数,“熵越大,不确定性越大”。随机变量的熵:熵只依赖于X的分布,与X的取值无关,故也可记为H(p)。

上图为随机变量X为0~1分布时的熵H(p)随概率p的变化曲线图。

信息增益:在某一个操作之前的系统熵与操作之后的系统熵的差值,也即是不确定性的减小量。信息的增加意味着不确定性的减少,也就是熵的减小。选择特征的标准:选择具有最大信息增益的特征。

熵H(Y)与条件熵H(Y|X)之差为互信息,信息增益等价于训练数据集中类与特征的互信息。

例:

根据信息增益准则的特征选择方法是:对训练集D计算其每个特征的信息增益,比较大小选择增益最大的特征。信息增益的算法:

信息增益比:信息增益值的大小是对特定的训练集来说的,熵大的时候信息增益会偏大,使用信息增益比可校正,这是特征选择的另一准则:改

			gr(D,A)=g(D,A)/H(D)

ID3用的信息增益在面对类别较少,每个类别都有一定数量的样本的离散数据时效果较好。当面对连续的数据(特征可以选取的值过多),或者每列数据没有明显的类别之分时(最极端的例子的该列所有数据都独一无二),ID3算法倾向于把每个数据自成一类,因为此时H(D)不变而H(D|A)=0,使得g(D,A)最大。故C4.5采用信息增益比,此时H(D)也称为A的内部信息。

决策树学习算法C4.5

若第三步按信息增益选最大特征则为ID3算法。

过拟合

交叉验证与树的修剪

避免过度拟合的方法:及早停止树增长;树的修剪。第二种方法被证明在实践中更成功。关键在于使用什么样的准则来确定最终正确树的规模。解决方法:

  1. 使用与训练样例截然不同的一套分离的样例,来评估通过后修剪方法从树上修建节点的效用。
  2. 使用所有可用数据进行训练,但进行统计测试来估计扩展(或修剪)一个特定的节点是否有可能改善在训练集合外的实例上的性能。
  3. 使用一个明确的标准来衡量训练样例和决策树的复杂度,当这个编码的长度最小时停止树增长。

将树上的每一个节点作为修剪候选对象:

推导:

分类与回归树CART

CART假设决策树是二叉树,如果目标变量是标称的,并且是具有两个以上的类别,则

CART考虑将目标类别合并成两个超类别(双化);如果目标变量是连续的,则CART算法找出一组基于树的回归方程来预测目标变量。

  • 目标变量是类别的 --- 分类树——基尼指数最小化准则
  • 目标变量是连续的 --- 回归树——平方误差最小化准则

一、 回归树的生成:最小二乘回归树生成算法

二、 分类树的生成

基尼指数Gini(D)表示集合D的不确定性,基尼指数值越大,样本集合的不确定性就越大。

CART剪枝

  1. 从生成算法产生的决策树T0底端开始不断剪枝,直到T0的根结点,形成子树序列{T0,T1..Tn},
  2. 通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树

CART剪枝算法:

总结

posted @ 2017-03-08 14:18  Nautilus1s  阅读(146)  评论(0编辑  收藏  举报