机器学习(周志华)学习笔记(三)

机器学习(周志华)学习笔记(二)

机器学习(周志华)学习笔记(一)


目录

第四章 决策树

4.1 基本流程

4.2 划分选择

4.2.1 信息增益

4.2.2 增益率(在信息增益基础上的进一步优化)

4.3 剪枝处理

4.4 连续与缺失值

4.4.1 连续值处理

4.4.2 缺失值处理

4.5 多变量决策树


第四章 决策树

4.1 基本流程

        一般的。一棵决策树包含一个根结点、若干个内部结点和若干个叶结点,叶结点对应于决策结果,其它每一个结点则对应于一个属性测试。

        决策树学习的目的是为了产生一颗泛化能力强、即处理未见实例能力强的决策树。

        决策树的生成:是一个递归过程。有三种情况导致递归返回:

                ①当前结点包含的样本全属于同一类别,即无需划分。

                ②当前属性集为空,或所有样本在所有属性上取值相同,无法划分。

                ③当前结点包含的样本集为空,不能划分。

在②情况下,把当前结点标记为叶节点,并将其类别设定为该结点所含样本最多的类别;

在③情况下,把当前结点标记为叶节点,但将其类别设定为其父结点所含样本最多的类别。

区别:②是利用当前结点的后验分布,③是把父结点的样本分布作为当前结点的先验分布。

4.2 划分选择

 决策树的关键:如何选择最优化分属性,即结点“纯度”越来越高。

4.2.1 信息增益

        “信息熵”:度量样本集合纯度的最常用指标。定义为:

       Ent(D)=-\sum_{k=1}^{\left | y \right |}p_{k}log_{2}p_{k}

D:样本集合        k:第k类样本        p_{k}:第k类样本在D中的比例

其中Ent(D)的值越小(最小值为0,最大值为log_{2}y),D的纯度越高。若p_{k}=0则p_{k}log_{2}p_{k}.

Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{D^{v}}{D}Ent(D^{v})

a:某一离散属性      v:第v个分支结点      D^{v}:D中所有在属性a上取值为a^{v}的样本  

   一般而言,信息增益越大,则意味着使用属性a来划分所获得的“纯度提升”越大。著名的ID3决策树学习算法就是以信息增益为准则来选择划分属性。   

个人想法:某个属性的信息增益大也就是某个属性在决定过程中的权重大。 而权重最大的放在前面做划分属性。

4.2.2 增益率(在信息增益基础上的进一步优化)

         实际上。信息增益准则可对取值数目较多的属性有所偏好,为了减少这种偏好带来的不利影响。著名的C4.5决策树算法不直接使用信息增益,而是使用增益率。增益率的定义为:

Gain_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}

IV(a)=-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}log_{2}\frac{\left | D^{v} \right |}{\left | D \right |}

        其中IV(a)称为属性a的“固有值”。属性a的可能取值数目(V)越大,则IV(a)的值通常会越大。

        需要注意的是,增益率准则对可取值数目较少的属性有所偏好,因此C4.5并不是直接选择最大增益率的候选作为划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

个人想法:增益率抑制了数目带来的影响,即偏好。但是也拉高了小数目取值样本的比重,所以启发性避免了小数目取值的可能。

4.3 剪枝处理

剪枝是决策树学习算法对“过拟合”的主要手段。决策树剪枝的基本策略主要有“预剪枝”和“后剪枝”。

预剪枝:在生成决策树过程中,对每个结点在划分前先进行估计,若当前结点划分不能带来决策树泛化性能的提升,则停止划分并标记当前结点为叶结点。

后剪枝:先生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若该结点对应的子树替换为叶结点能提升泛化性能,则将该子树替换为叶结点。

利用2.2节介绍的性能评估方法来判断决策树泛化性能提升与否

4.4 连续与缺失值

4.4.1 连续值处理

        上述利用离散属性来生成决策树。下面我们讨论如何在决策树中使用连续属性。

        利用连续属性离散化技术,最简单的策略是采用二分法对连续属性进行处理,这正是C4.5决策树算法中采用的机制。

        基于划分点t可将D分为子集D_{t}^{-}D_{t}^{+}。其中D_{t}^{-}包含那些在属性a上取值不大于t的样本,而D_{t}^{+}则包含哪些在属性a上取值大于t的样本。因此,对连续属性a,我们可考察包含n-1个元素的候选划分点集合

T_{a}=\left \{ \frac{a^{i}+a^{i+1}}{2}|1\leqslant i\leqslant n-1 \right \}

即把区间的中位点作为候选划分点,然后我们就可以像离散属性值一样来考察这些划分点,选取最优的划分点进行样本集合的划分。

Gain(D,a) = _{\underset{t\in T_{a} }{max}}Gain(D,a,t)

其中Gain(D,a,t)是样本集D基于划分点t二分后的信息增益,于是我们就可选择使Gain(D,a,t)最大化的划分点。

需要注意的是,与离散属性不同,若当前结点划分属性为连续属性,该属性还可作为其后代结点的划分属性。

4.4.2 缺失值处理

        现实任务中常会遇到不完整样本,即样本的某些属性值缺失。尤其是在属性数目较多的情况下,往往会有大量样本出现缺失值。如果直接放弃不完整样本,是一种浪费。所以要利用有缺失属性值的训练样例来进行学习。

        解决两个问题:

        ①如何在属性值缺失的情况下如何进行属性划分?

        ②给定划分属性,若样本在该属性上的确实,如何对样本进行划分?

给定训练集D和属性a,令\overset{-}{D}表示D中在属性a上没有缺失值的样本子集。

        对于问题①,显然我们仅可根据\overset{-}{D}来判断属性a的优势。

        对于问题②,若样本x在划分属性a上的取值已知,则将x划入与其取值对应的子结点,且样本权值在子结点中保持w_{x};若样本x在划分属性a上的取值未知,则将x同时划入所有子结点,且样本权值在与属性值a^{v}对应的子结点中调整为\overset{-}{r_{v}}w_{x},其中\overset{-}{r_{v}}表示无缺失值样本中在属性a上取值a^{v}的样本所占的比例,就是让同一个样本以不同的概率划入到不同的子结点中去。

4.5 多变量决策树

        在多变量决策树的学习过程中,不是每个非叶结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值