统计学习方法--决策树

Summary:是一种基本的分类和回归方法。可以看作是if-then规则的集合,也可以被认作是定义在特征空间与类空间上的条件概率分布。主要优点:模型可读性,分类速度快。决策树学习的步骤:特征选择、决策树生成、决策树的修剪

决策树学习的本质是:从训练数据集中归纳出一组分类规则。

1. 决策树模型的定义与基本概念

决策树的定义:是一种描述对实例进行分类的树形结构。由结点(node)和有向边(directed edge)组成。节点包含两种:内部节点(internal node)和叶节点(leaf node),分别表示特征和类。

用决策树进行分类,从根节点开始,对实例的某一特征进行测试,根据测试的结果,将实例分配到其子节点,而每一个飞叶子节点都对应一个特征的条件。如此递归地对实例进行测试并分配,直到到达叶节点,并将实例划分到此类中。

决策树可以看作是if-then规则的集合。且他们都具有“互斥完备性”,即每一个实例都被一条路径或规则所覆盖,且只有一条。

决策树也可以表示给定特征条件下类的条件概率分布。这一条件概率分布定义在特征空间的一个划分上。将空间划分成互不相交的单元或区域。

假如我们定义高富帅作为某女生的男友标准,用离散化的类别[0,1]简化是否可以作为男朋友,1表示“是”。在满足条件xi的情况下,比如,某男士的身高为170cm,我们计算P(Y=1|X=xi)的概率。当结果大于0.5时,我们认为这个单元属于“1”类。

给定训练数据集D = {(x1,y1)(x2,y3),...,(xN,yN)}。其中特征向量xi=(xi1,xi1,xi3,...xin),具有n个特征个数。yi属于{1,2, ..., K}是类别标记。N为样本容量。

与训练集数据不相矛盾的决策树可能有多个,也可能一个都没有。我们的目标是找到与训练数据集矛盾较小、同时也具有很好的泛化能力的决策树。从条件概率分布的角度看,我们想要找到基于特征空间划分的类的条件概率模型,结果可能有很多种。我们选择的条件概率模型应该不仅对训练数据具有很好的拟合效果,而且对未知数据具有很好的预测效果。

决策树的学习策略,以最小化损失函数为目标。通常,损失函数是正则化的最大似然函数。在损失函数意义下选择最优函数。从所有可能的决策树中选择最优的决策树是一个NP完全问题,现实中的决策树学习算法通常采用启发式方法,近似求解这一最优化问题。这样的到的决策树是次最优的。


2.决策树的特征选择

选取对训练数据集具有分类能力的特征,提升决策树学习效率。特征选择的标准包括:信息增益或信息增益比。

  • 信息增益(information gain)

1)首先需要了解一下信息论中“熵”(entropy)的概念:表示随机变量不确定性的度量。假设X是一个取有限个值的离散随机变量,其分布概率是:P(X=xi) = pi, i=1,2,...,n

则X的混乱程度,即X的熵可以定义为:


可以看出,熵的大小和X的值没有任何关系,仅仅取决于它的分布。

2)再进一步了解下“条件熵”(conditional entropy)。如果随机变量X的条件已知,随机变量Y的不确定性会有什么变化呢?

 这里的pi表示P(X=xi)。

当熵和条件熵中的概率由数据统计(特别是最大似然估计)得到时,所对应的熵与条件熵分别被称为:经验熵和经验条件熵。

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

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


一般地,熵H(Y)与条件熵H(D|A)之差被称为互信息 (mutual information)。决策树学习中的信息增益==训练数据集中类与特征的互信息。信息增益哒的特征对数据集具有更强的分类能力。

  • 信息增益比(information gain ratio):

以信息增益作为划分标准有一个缺点,那就是如果某一个特征的取值种类数目较多,根据这个特征设定的条件,会造成较大的信息增益。适应信息增益比对这一问题进行校正。

信息增益比的定义:


3.决策树的生成

两种经典算法:ID3和C4.5

  • ID3算法:

算法核心:在决策树各个节点上应用信息增益准则选择特征,递归的构建决策树。

具体描述:从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的特征,并由该特征的不同取值建立子节点。对子节点递归调用上述方法,构建决策树,直到所有特征的信息增益军很小或者没有特征可以选择为止。

算法过程:

  • C4.5算法:

C4.5算法与ID3算法相似,并做了改进,使用信息增益比来选择特征。


4.决策树的剪枝

决策树生成算法递归产生决策树,直到无法进行为止。这样产生的树往往对训练数据具有很高的分类准确性,但对为止的测试数据的分类却没那么准确。即出现过拟合现象。

解决办法是:考虑决策树的复杂度,对已经生成的决策树进行简化。在决策树学习中,将已生成的树的简化过程称为剪枝。具体地,剪枝从已生成的树上裁掉一些子树或者叶节点,并将其根节点或者父节点作为新的叶节点,从而简化分类树模型。


(未完待续...)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值