决策树学习笔记(一)

来源:互联网 发布:淘宝关键词权重怎么刷 编辑:程序博客网 时间:2024/05/20 19:28

决策树学习笔记(一)


前言


For GBDT:

提升树、GBDT是以分类树或者回归树为基本分类器的提升方法,在看提升树算法的时候我发现对决策树学习的一些细节并不清晰了,于是决定从头再学一遍。之前的理解还是比较粗浅,一直以为决策树比较简单,类似于很多的简单规则一级一级拼凑起来,其实对决策树的条件概率表示、特征选择、决策树生成以及剪枝都没有真正的掌握。真正的理解算法是要能够非常通俗的把算法思想表达出来,《统计》一书上对决策树的介绍非常详细并且易于理解,入门必看。

1.决策树模型


决策树是一种基本的分类与回归方法,决策树模型呈树形结构。在分类问题中,它可以看作是if-then规则的集合,也可以看作是定义在特征空间与类空间上的条件概率分布。主要优点是模型具有可读性,分类速度快。

图中圆和方框分别表示内部节点(表示实例的某一特征或属性)和叶节点(表示一个分类类别)

决策树分类过程:从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子节点;每个子节点对应着该特征的一个取值。如此递归对实例进行测试并分配,直至达到叶节点,叶节点即表示一个类。

2.决策树模型理解


直观上看决策树是一系列if-then规则的集合,根节点到子节点的每一条路径都是一条规则,子节点就是每一条规则所指向的结果。(见图5.2(c))

将决策树看成是一定特征空间下的条件概率分布更利于后面分类与回归树(CART)模型的理解。这个条件概率分布定义在特征空间的划分上,特征空间划分为互不相交的单元,每个单元定义了一个类的概率分布,从而构成了一个条件概率分布。 

X(x1,x2)表示特征的随机变量,Y表示为类的随机变量,P(Y|X)表示条件概率分布

图5.2(a)表示了特征空间的一个划分,大正方形表示特征空间,大正方形被若干个小矩阵分割,每个小矩阵代表一个单元。特征空间划分上的单元构成了一个集合,X取值为单元的集合。图5.2(a)中的+1,-1即表示该单元的类别(正类,负类)。

图5.2(b)表示特征空间(图5.2(a))划分确定时,特征(单元)给定条件下类的条件概率分布。图5.2(b)中的条件概率分布对应于图5.2(a)的划分;当某个单元c的条件概率满足P(Y=+1|X=C)>0.5时,即认为该类属于正类,落在该单元的实例都视为正例。

至此有几点疑惑:

  • 该条件概率分布的概率值是如何确定的?(根据给点数据集归纳出的分类规则?)

  • 特征空间的划分是如何确定的?(根据一系列的评价系数确认分类特征?)

3.决策树学习


决策树学习的目的找到一个与训练数据矛盾较小的决策树,同时还需要很好的泛化能力。与大多数学习方法类似,决策树学习用损失函数表示这一目标,决策树学习的损失函数通常是正则化的极大似然函数。决策树学习的策略就是以损失函数为目标的最小化。

决策树学习算法通常是一个递归的选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类过程,这个过程对应着特征空间的划分和决策树的构建。这一递归过程就是决策树学习中的特征选择和决策树生成,通过该方法得到的决策树往往对该数据集有很好的分类能力,但是对于未知数据的预测来说却未必了。因为会发生过拟合现象,因此引入了剪枝的思想,对已经生成的树自下而上进行剪枝,具体的就是删去一些过于细分的叶节点,使其退回父结点或者更高的结点,然后将其作为新的叶节点,从而使得模型有较好的泛化能力。

决策树生成和决策树剪枝是个相对的过程,决策树生成旨在得到对于当前子数据集最好的分类效果(局部最优),而决策树剪枝则是考虑全局最优,增强泛化能力。

4.特征选择


特征选择在于选取对训练数据具有分类能力的特征,如果一个特征的分类效果不优于随机分类,那么这个这个特征是没有分类能力的,应当放弃。特征选择的准则通常是信息增益或者信息增益比

为了便于说明,先给出熵与条件熵的定义。

熵:表示随机变量不确定性的度量,熵越大,随机变量的不确定性就越大。 
设X是一个取有限个值得离散随机变量其随机分布为:

则随机变量的熵定义为:

熵只依赖于X的分布,而与X的取值无关,因而可表示成H(p).当随机变量只取0,1时,X的分布:

熵为:

此时熵H(p)随概率p的变化曲线如下:

条件熵:设随机变量(X,Y),其联合概率分布为:

条件熵表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y|X),定义为X给定条件下Y的条件概率分布对X的数学期望:

这里,pi=P(X=xi),i=1,2,…n.

熵和条件熵可由数据估计(特别是极大似然法),此时成为经验熵和经验条件熵,如果有0概率,令0log0=0.

信息增益(information gain) 表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。

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

熵H(Y)与条件熵H(Y|X)之差称为互信息(mutual information).决策树学习中的信息增益等价于训练数据集中类与特征的互信息。

信息增益比(information gain ratio)以信息增益作为划分训练数据集的特征,存在偏向于选择特征取值较多的特征的问题,使用信息增益比可以对这一问题进行校正。

定义:特征A对训练数据集D的信息增益比gg(D,A)定义为其信息增益g(D,A)与训练数据集D关于特征A的值得熵HA(D)之比:

至此,需要好好消化一下…

信息增益结合决策树学习通俗理解,就是判断某一特征x,它对数据集D决策树学习后的分类结果y的不确定性的影响程度,是否能够降低分类结果的不确定性。不同的特征有不同的的信息增益,即信息增益大的特征具有更强的分类能力!

为什么要使用信息增益比可以看这个知乎问答: 
c4.5为什么使用信息增益比来选择特征?

附:信息增益算法步骤及案例


算法步骤:

 

案例学习:

 

待续


5.决策树生成:ID3算法、C4.5算法 
6.决策树剪枝 
7.CART算法 
8.总结

0 0