第四章 决策树
4.1 基本流程
决策树(decision tree) 是一类常见的机器学习方法.一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果?其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集.从根结点到每个叶结点的路径对应了一个判定测试序列.决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的"分而治之" (divide-and-conquer) 策略。其伪代码如图4.2所示:
4.2 划分选择
4.2.1 信息增益
Ent(D) 的值越小,则 D的纯度越高 ,信息熵越大越不确定。
信息增益:在已知属性(特征)a的取值后 y的不确定性减少的量,也即纯度的提升
一般而言,信息增益越大,则意味着使用属性a 来进行划分所获得的"纯度提升"越大. 因此,我们可用信息增益来进行决策树的划分属性选择。
著名的 ID3 决策树 学习算法就是以信息增益为准则来选择划分属性.
4.2.2 增益率
信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的 C4.5 决策树算法不直接使 用信息增益,而是使用"增益率" (gain ratio) 来选择最优划分属性.采用与增益率定义为:
称为属性 a的“固有值”,a 的可能取值个数 V 越大,通常其固有值IV(a) 也越大。但是,增益率对可能取值数目较少的属性有所偏好。
需注意的是,增益率准则对可取值数目较少的属性有所偏好。因此,C4.5决策树并未完全使用“增益率”代替“信息增益”,而是采用一种启发式的方法: 先选出信息增益高于平均水平的属性,然后再从中选择增益率最高的。
4.2.3 基尼指数
CART 决策树使用"基尼指数" (Gini index) 来选择划分属性.数据集D的纯度可用基尼值来度量:
CART决策树:选择基尼指数最小的属性作为最优划分属性
CART决策树的实际构造算法如下:
然后,选择基尼指数最小的属性及其对应取值作为最优划分属性和最优划分点;
最后,重复以上两步,直至满足停止条件。