机器学习(西瓜书)--第四章:决策树

一:基本流程

决策树的学习目的是为了产生一棵泛化能力强的决策树,器基本流程简而言之“分而治之(Divide-and-conquer)”

二 :划分选择:主要解决从A中选择最优划分属性a的过程,使得分支尽可能属于同一个分支,纯度(purity)越来越高;

1:信息熵(Information entropy):

log2Pk为负值,单调增,因此-Pk*log2Pk单减,概率越大信息量越小,编码越短;

Ent越小说明,里面单个概率都大,异常值较小,纯度越高;

母亲得到信息越多,女儿的态度越明确,与男方见与不见的不确定性越低。因此,信息量与不确定性相对应。使用熵来表示不确定性的度量。

2:信息增益(Information gain)

假定离散属性a有V个可能的取值{a1,a,2,...,aV},若使用a来对样本集D进行划分,则会产生v个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv。根据样本数的赋予熵的权重Dv/D,得到属性a对样本的集D进行划分所获得的“信息增益”:

信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。因此我们想用信息增益来进行决策树的划分选择。

条件熵H(Y|X)(方程右边部分)表示在已知随机变量X的条件下随机变量Y的不确定性。例如,知道男生年龄的前提条件下,根据女儿见与不见的不确定性。信息增益表示得知特征X(年龄)的信息使得类Y(见与不见)的信息的不确定性减少程度。信息增益大表明信息增多,信息增多,则不确定性就越小,母亲应该选择使得信息增益增大的条件询问女儿。

 

代表算法:ID3,具体方法是:从根节点开始,对节点计算所有可能的特征的信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同取值建立子节点;再对子节点递归调用以上方法,构建决策树。https://blog.csdn.net/gumpeng/article/details/51397737

3:增益率(gain ratio)

信息增益对于数目较多的属性有所偏好,为减少这种偏好可以使用增益率:C4.5决策树就是采用这种方法划分属性;

IV(a)称为固有值(Intrinsic value),a的数目越多,值通常越大;

代表算法: C4.5算法,它是对ID3算法的改进,相对于ID3算法主要有以下几个改进

(1)用信息增益比来选择属性

(2)在决策树的构造过程中对树进行剪枝

(3)对非离散数据也能处理

(4)能够对不完整数据进行处理

https://blog.csdn.net/gumpeng/article/details/51397737

 

4:基尼指数(Gini index)

Gini(D)表示从数据集随机抽取两个样本,其类别不同的概率;因此Gini越小,纯度越高;

与条件熵H(Y|X)定义类似,属性a的基尼系数为:

5:剪枝处理(pruning)

通过去掉一些分支,从而降低过拟合的风险;

预剪枝(prepruning):在生成决策树过程中判断,如果每个节点不能带来决策树泛化能力提升,则停止划分为叶节点;

    由于预剪枝贪心的本质,禁止分支的展开,可能导致“欠拟合”;

后剪枝(postpruning):先生成完整的决策树,然后自底而上对非叶节点进行考察,若将该子树改为叶节点带来泛化能力增加,则改为叶节点;

    泛化性能好于预剪枝,训练开销较大;

判断泛化能力,可采用第二章的性能评估方法,例如留出法;

 

6:连续值处理:对于可取数目不再有限的连续属性,进行离散化是很好的方法;

二分法(bi-partition):C4.5决策树采用的方法;首先选择中位点作为候选划分点,然后利用离散化的增利率考量此点,得到最佳的值;

 

7:缺失值的处理(两个问题):

a 如何在属性值缺失情况下进行划分属性选择?

    对于训练集D和属性a,令D~表示D在a上没有缺失值的样本,因此仅可通过D~判断属性a的优劣; 

b 给定划分属性,若该样本在该属性值缺失,如何对样本划分;

   计算完某属性没有缺失值的信息增益后,乘以没有缺失值的比例得到最终信息增益,然后再进行比较。

 

8:多变量决策树(multivariate decission tree)

决策树所形成的分类边界有一个明显的特征:轴平行,即它的分类边界由若干个与坐标轴平行的分段组成。如下图所示:

     这样在学习任务的真实分类边界比较复杂时,必须使用很多段划分,才能获得较好的近似。此时的决策树会相当复杂,由于要进行大量的属性测试,预测时间开销会非常大。

     多变量决策树可以实现‘斜’划分,在此例中非叶节点不再是某个属性,而是对属性线性组合;方法有OC1;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值