西瓜书第四章学习笔记——决策树

4.1 基本流程

决策树(decision tree)是一类常见的机器学习方法,以二分类任务为例,我们希望从给定训练数据集学得一个模型用以对新示例进行分类,这个把样本分类的任务,可看作对“当前样本属于正类吗?"这个问题的“决策”或“判定”过程,顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。

西瓜书第四章学习笔记——决策树_第1张图片

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

西瓜书第四章学习笔记——决策树_第2张图片

决策树的生成是一个递归过程,在决策树基本算法中,有三种情形会导致递归返回:(1)当前结点包含的样本全属于同一类别,无需划分;(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;(3)当前结点包含的样本集合为空,不能划分.
在第(2)种情形下,我们把当前结点标记为叶结点,并将其类别设定为该结点所含样本最多的类别;在第(3)种情形下,同样把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多的类别,注意这两种情形的处理实质不同:情形(2)是在利用当前结点的后验分布,而情形(3)则是把父结点的样本分布作为当前结点的先验分布.

4.2 划分选择

由算法4.2可看出,决策树学习的关键是第8行,即如何选择最优划分属性.一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度"(purity)越来越高。

  1. 信息熵(information entropy)是度量样本纯度的最常用的一种指标。

西瓜书第四章学习笔记——决策树_第3张图片

  1. 信息增益(information gain)
    西瓜书第四章学习笔记——决策树_第4张图片

一般而言,信息增益越大,则意味着使用属性a进行划分所获得的“纯度提升”越大。(可用信息增益来进行决策树的划分属性选择,即在4.2算法第8行选择属性
a ∗ = arg ⁡ max ⁡ a ∈ A G a i n ( D , a ) a_* = \arg\max\limits_{a \in A} Gain(D,a) a=argaAmaxGain(D,a)
)——ID3决策树学习算法就是以信息增益为准则来选择划分属性。

从根节点到叶节点,每一层均选择信息增益最大的属性作为划分属性。(进行下一层信息增益计算时需重新计算)

  1. 增益率(gain ratio)

实际上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法[Quinlan,1993]不直接使用信息增益,而是使用“增益率”(gain ratio)来选择最优划分属性.采用与式(4.2)相同的符号表示,增益率定义为:
G a i n _ r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain_\_ ratio(D,a) = \frac{Gain(D,a)}{IV(a)} Gain_ratio(D,a)=IV(a)Gain(D,a)

I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ⁡ 2 ∣ D v ∣ ∣ D ∣ IV(a) = - \sum\limits^V\limits_{v=1} \frac{\lvert D^v \rvert}{\lvert D \rvert}\log_2 \frac{\lvert D^v \rvert}{\lvert D \rvert} IV(a)=v=1VDDvlog2DDv

IV(a)称为属性a的固有值(intrinsic value)。属性a的可能取值数目越多(即V越大),则 IV(a) 的值通常会越大。

你可能感兴趣的:(机器学习,决策树,机器学习,算法)