《机器学习》笔记--决策树

决策树

基本流程

一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点,叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集,从根结点到每个叶结点的路径对应了一个判定测试序列.决策树学习的目的是了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的“分而治之”(divide-and-conquer)策略。

在这里插入图片描述

决策树基本算法中,有三种情形会导致递归返回:

  • 当前结点包含的样本全属于同一类别,无需划分。
  • 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分

把当前结点标记为叶结点,并将其类别设定为样本最多的类别

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

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

划分选择

一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高.

信息增益(ID3)

“信息熵”(information entropy)是度量样本集合纯度最常用的一种指标.

假定当前样本集合D中第k类样本所占的比例为 p k ( k = 1 , 2 , . . . , ∣ Y ∣ ) p_k(k = 1,2,...,|Y|) pk(k=1,2,...,Y),则D的信息熵定义为
Ent ⁡ ( D ) = − ∑ k = 1 ∣ Y ∣ p k log ⁡ 2 p k \operatorname{Ent}(D)=-\sum_{k=1}^{|\mathcal{Y}|} p_{k} \log _{2} p_{k} Ent(D)=k=1Ypklog2pk
Ent ⁡ ( D ) \operatorname{Ent}(D) Ent(D)的值越小则D的纯度越高。

Ent(D)的最小值为0,最大值为 l o g 2 ∣ Y ∣ log_2|\mathcal{Y}| log2Y

证明:

最小值:某个 p k p_k pk为1其余为0时。

最大值可以引入带约束的拉格朗日乘子求导得到。

假定离散属性a有V个可能的取值 { a 1 , a 2 , … , a V } \left\{a^{1}, a^{2}, \ldots, a^{V}\right\} { a1,a2,,aV},若使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为 a v a^v av的样本,记为 D v D^v Dv可根据上式计算出 D v D^v Dv的信息熵。由于不同的分支结点所包含的样本数不同,给分支结点赋予权重 ∣ D v ∣ / ∣ D ∣ \left|D^{v}\right| /|D| Dv/D,即样本数越多的分支结点影响越大,于是可计算出属性a对样本集D进行划分所获得的“信息增益”。
Gain ⁡ ( D , a ) = Ent ⁡ ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Ent ⁡ ( D v ) \operatorname{Gain}(D, a)=\operatorname{Ent}(D)-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Ent}\left(D^{v}\right) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大.因此,我们可用信息增益来进行决策树的划分属性选择 a ∗ = arg ⁡ max ⁡ a ∈ A Gain ⁡ ( D , a ) a_{*}=\underset{a \in A}{\arg \max } \operatorname{Gain}(D, a) a=aAargmaxGain(D,a)

###增益率(C4.5)

实际上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法[Quinlan,1993]不直接使用信息增益,而是使用“增益率”(gain ratio)来选择最优划分属性.采用与式(4.2)相同的符号表示.增益率定义为
( D , a ) = Gain ⁡ ( D , a ) IV ⁡ ( a ) (D, a)=\frac{\operatorname{Gain}(D, a)}{\operatorname{IV}(a)} (D,a)=IV(a)Gain(D,a)
其中
I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ⁡ 2 ∣ D v ∣ ∣ D ∣ \mathrm{IV}(a)=-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \log _{2} \frac{\left|D^{v}\right|}{|D|} IV(a)=v=1VD

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值