统计学习方法笔记-决策树模型

简介:
    决策树是一种基本的分类与回归方法。下面的笔记主要记录用于分类的决策树。决策树模型呈树形结构,在分类中,表示基于特征对实例进行分类的过程。其主要优点是:模型具有可读性,分类速度快。学习时利用训练数据,根据损失函数最小化原则建立决策树模型。决策树学习通常包括三个步骤:特征选择、决策树的生成、决策树的修剪。

决策树模型与学习

决策树模型:
    分类决策树模型是一种描述对实例进行分类的树形结构(注意:kd树是二叉树,而决策树不限于二叉树)。决策树由结点和有向边组成。结点分为:内结点和外结点。内结点表示一个特征或属性,外结点表示一个类。
    用决策树分类,从根节点开始对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每个子结点对应着该特征的一个取值。如此递归的堆实例进行测试并且分配,直至达到叶结点。最后将实例分到叶结点的类中。下图是一个决策树示意图:
                                                                     

决策树学习:
    决策树的构建过程如下:开始,构建根结点,将所有训练数据都放在根结点。选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。如果这些子集已经能够被基本正确分类,那么构建叶结点,并将这些子集分配到对应的叶结点中去;如果还有子集不能够被基本正确分类,那么对这些子集选择最优特征,继续对其进行分割,构建相应的结点。如此递归下去,直至所有训练数据子集被基本正确分类或者没有合适的特征为止。最后每个子集都被分到叶结点上,即都有了明确的类。这就生成了一颗决策树。
    以上方法有可能对训练数据有很好的分类能力,但对未知的测试数据未必有很好的分类能力,即可能发生过拟合。我们需要对已经生成的树自下而上进行剪枝,将树变得更简单,从而使它具备更好的泛化能力。
    决策树生成对应模型的局部选择(只针对训练数据),而决策树的剪枝则考虑全局最优(针对所有数据,泛化能力)

            特征选择
特征选择在于选取对训练数据具有分类能力的特征,这样可以提高决策树的学习效率。通常特征选择的准则是通过比较信息增益或信息增益比。

熵与条件熵:
    熵是表示随机变量不确定性的度量。设X是一个取有限个值的离散随机变量,其概率分布为: P( X = x i  ) =   p i  ,i = 1,2,···,n
则随机变量X的熵定义为
                                        
(其中 x i  表示类别为 c i  的x集合,所以 p i  也就是X中类别为 c i  的概率,所以H(X)依赖于 c i  的概率pi,而于X的取值无直接关系)
    通常H(X)中的对数以2或者e为底,这时熵的单位分别称作比特或纳特。由定义可知,熵只依赖于X的分布,而与X的取值无关,所以也可将X的熵记作H(p);
    熵越大,随机变量的不确定性就越大。从定义可验证:
                                            0 <= H(p) <= log n

    条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y|X),定义为:X给定条件下Y的条件概率分布的熵对X的数学期望
                                       
(注意:这儿的 x i  不是特指之前说的“ 类别为 c i  的x集合 ”,而是以满足某些条件的将X划分的子集,比如:根据特征A的不同取值,将X划分为不同的子集 x i  ,i = 1,2,···,k,求在特征A确定的情况下,数据集的条件熵
(由之前可知,H(Y|X = x i)等于 所有 p j  和log pj    乘积之和的相反数,并且 pj  是在xi 数据集上类型为 ci 的概率
    当熵和条件熵的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。此时,如果有0概率,令0log0 = 0
    
信息增益:
    表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。
    定义:特征A对训练数据集D的信息增益g(D,A),定义为:集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D | A)之差,即    g(D,A) = H(D) - H(D | A)    
    一般地,熵H(Y)和条件熵H(Y | X)的差称为互信息。决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
    信息增益大的特征具有更强的分类能力。
    根据信息增益准则的最优特征选择方法:对训练数据集D,计算其每个特征的信息增益,并比较大小,选择信息增益最大的特征。

信息增益比:
    信息增益值的大小是相对于训练数据集而言的,并没有绝对意义。在训练数据集的熵大的时候,信息增益值也会偏大,反之信息增益值会偏小。使用信息增益比会对这一问题进行校正,这是特征选择的另一准则。
    比如:一数据集D,只给出特征A的信息增益值是0.1,我们并不知道他对减少数据集D不确定性的作用有多大,但是如果给出特征A的信息增益比是0.5,我们就能明确他对减少数据集D不确定性的有多重要了。
    定义:特征A对训练数据集D的信息增益比 g R(D,A)定义为其信息增益g(D,A)与训练数据集D的经验熵H(D)之比:
                                                 g R(D,A) = g(D,A) / H(D)

决策树的生成
ID3算法:
    简介:
    ID3算法的核心是在决策树的各个结点上应用信息增益准则选择特征,递归的构建决策树。具体方法是:从根节点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归的调用上述方法,构建决策树;直到所有特征的信息增益小于阈值或没有特征可以选择为止。    
    算法:
    输入:训练数据集D,特征集A,阈值 ε
   输出:决策树T
    1、若D中所有实例都属于同一类 c k ,则T为单结点树,并将类 c k
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值