决策树---《统计学习方法》第5章

本章学习的额外目标:‘极大似然估计’与“先验概率”有什么关系,‘正则化的极大似然估计’
什么CART树不采用熵而采用基尼指数?

决策树是一种基本的分类与回归方法。本章主要讨论用于分类的决策树。决策树学习主要包括3个步骤:特征选择、决策树的生成和决策树的剪枝。

决策树模型与学习

决策树模型

分类决策书模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。节点分为内部结点和叶结点,其中内部结点表示一个特征或树形,叶结点表示一个类

决策树与if-then规则

由决策树根结点到叶结点的每一条路径构成一个规则,路径上内部结点的特征对应规则的条件,而叶结点的类对应着规则的结论。决策树的路径与其对应的if-then规则集合具有一个重要的性质:互斥并且完备。也就是说,每一个实例都被一条路径或者规则覆盖,而且只能被一条路径或一条规则覆盖。

决策树与条件概率分布

决策树还表示给定特征条件下类的条件概率分布。将特征空间划分为互不相交的单元或区域,并在每个单元定义一个类的概率分布就构成了条件概率分布。决策树的一条路径对应划分中的一个单元,决策树所表示的条件概率分布由各个单元给定条件下类的条件概率分布组成。假设X为表示特征的随机变量,Y为表示类的随机变量,那么这个条件概率分布可以表示为P(Y|X)。

决策树学习

决策树学习本质是从训练数据集中归纳出一组分类规则,与训练数据集不相矛盾的决策树(即对训练数据进行正确分类的决策树)可能有多个,也可能一个也没有。我们需要的是一个与训练数据矛盾较小的决策树,同时具有很好的泛化能力
决策树学习用损失函数表示这一目标。决策树学习的损失函数通常是正则化的极大似然函数。决策树学习的策略是以损失函数为目标函数的最小化。因为从所有可能的决策树中选取最优决策树是NP难问题,所以现实中决策树学习算法通常采用启发式方法,近似求解这一最优化问题,这样得到的决策树是次优化的。
决策树学习的算法通常是递归地选择最优特征,并根据该特征对训练数据进行划分。当树的分类太细时可能发生过拟合现象,这时需要对它进行从下至上的剪枝,从而使它具有更好的泛化能力。如果特征数量很多,也可以在学习的时候对特征进行选择,只留下对训练数据有足够分类能力的特征(预剪枝)。
由于决策树表示一个条件概率分布,所以深浅不同的决策树对应着不同复杂度的概率模型。决策树的生成对应着模型的局部选择,决策的剪枝对应着模型的全局选择。

特征选择

特征选择问题

特征选择在于选取对训练数据具有分类能力的特征。通常特征选择的准则是信息增益或信息增益比

信息增益

:表示随机变量不确定性的度量。设X是一个取有限个值的离散随机变量,其概率分布为:

P(X=xi)=pi,i=1,2,...,n P ( X = x i ) = p i , i = 1 , 2 , . . . , n
,那么X的熵为:
H(X)=i=1npilogpi H ( X ) = − ∑ i = 1 n p i l o g p i
.由于这个熵值与X的取值没有关系而只与X的分布有关,因此熵也可以写作 H(p) H ( p ) .对数以2为底或者以e为底,这时熵的单位分别称作比特(bit)或者纳特(nat).
**条件熵**H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。H(Y|X)定义为X给定条件下Y的条件概率分布的熵对X的数学期望:
H(Y|X)=i=1npiH(Y|X=xi) H ( Y | X ) = ∑ i = 1 n p i H ( Y | X = x i )
.
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。信息增益表示得知特征X的信息而使得Y的信息的不确定性减少的程度。
(信息增益)特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差。即:
g(D,A)=H(D)H(D|A) g ( D , A ) = H ( D ) − H ( D | A )
.一般地,熵H(Y)与条件熵H(Y|X)之差称为互信息。 决策树学习中的信息增益等价于训练数据集中类与特征的互信息。信息增益表示由于特征A而使得对数据集D的分类的不确定性减少的程度。信息增益大的特征具有更强的分类能力。
根据信息增益准则的特征选择方法是:对训练数据集D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

信息增益比

以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增益比可以对这一问题进行校正。
(信息增益比)特征A对训练数据集D的信息增益比 gR(D,A) g R ( D , A ) 定义为其信息增益g(D,A)与训练数据集D关于特征A的值的熵 HA(D) H A ( D ) 之比,即

gR(D,A)=g(D,A)HA(D) g R ( D , A ) = g ( D , A ) H A ( D )
,其中 HA(D)=ni=1|Di||D|log2|Di||D| H A ( D ) = − ∑ i = 1 n | D i | | D | l o g 2 | D i | | D | ,n是特征A取值的个数。

决策树的生成

ID3算法

ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。具体地,从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归调用以上方法构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。ID3相当于用极大似然发进行概率模型的选择。

C4.5的生成算法

C4.5的算法与ID3算法相似,C4.5算法对ID3算法进行了改进,C4.5在生成的过程中,用信息增益比来选择特征。
ID3和C4.5都只有决策树的生成,所以算法容易过拟合。

决策树的剪枝

在决策树学习中将已生成的树进行简化的过程称为剪枝。具体地,剪枝从已生成的书上裁剪掉一些子树或叶结点,并将其根结点或父结点作为新的叶结点,从而简化分类树模型。
决策树的剪枝往往通过极小化决策树整体的损失函数或代价函数来实现。具体推导见P66.损失函数为

Cα(T)=C(T)+α|T| C α ( T ) = C ( T ) + α | T |
,其中 C(T) C ( T ) 表示模型对训练数据的预测误差, |T| | T | 表示模型复杂度, α0 α ⩾ 0 控制两者之间的影响。剪枝,就是当 α α 确定时,选择损失函数最小的模型。
可以看出,决策树生成只考虑了通过提高信息增益(或信息增益比)对训练数据进行更好的拟合,而决策树剪枝通过优化损失函数还考虑了减小模型复杂度。决策树生成学习局部的模型,而决策树剪枝学习整体的模型。利用 损失函数最小原则进行剪枝就是用正则化的极大似然估计进行模型选择。

CART算法

分类与回归树(classification and regression tree)是应用广泛的决策树学习方法,既可以用于分类也可以用于回归。CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值是“是”的分支,右分支是取值是“否”的分支。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也即是在输入给定条件下输出的条件概率分布。

CART树生成

决策树的生成就是递归的构建二叉决策树的过程。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则进行特征选择。

回归树的生成

一个回归树对应着输入空间的一个划分以及在划分的单元上的输出值。回归树的构建准则是平方误差最小化准则。
寻找最优切分变量j和最优切分点s使得

minj,s[minc1xiR1(j,s)(yic1)2+minc2xiR2(j,s)(yic2)2] min j , s [ min c 1 ∑ x i ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + min c 2 ∑ x i ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ]
最小。构建的回归树一般称为 最小二乘回归树

分类树的生成

(基尼指数)分类问题中,假设有K个类,样本点属于第k个类的概率为 pk p k ,则概率分布的基尼指数为:

Gini(p)=k=1Kpk(1pk)=1k=1Kp2k G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2
,对于给定的样本集合D,其基尼指数为
Gini(D)=1k=1K(|Ck||D|)2 G i n i ( D ) = 1 − ∑ k = 1 K ( | C k | | D | ) 2
,在特征A的条件下,集合D的基尼指数定义为:
Gini(D,A)=|D1||D|Gini(D1)+|D2||D|Gini(D2) G i n i ( D , A ) = | D 1 | | D | G i n i ( D 1 ) + | D 2 | | D | G i n i ( D 2 )
.
基尼指数同样表示了不确定性, Gini(D,A) G i n i ( D , A ) 表示经A=a分割后集合D的不确定性。
构建树的时候,在所有可能的特征A以及它们所有可能的切分点a中,选择基尼指数最小的特征及其对应的切分点作为最优特征和最优切分点。
算法停止的条件是结点中样本个数小于预定阈值,或样本集的基尼指数小于预定阈值,或者没有更多的特征。

CART树剪枝

CART剪枝算法由两步组成:首先从生成算法产生的决策树 T0 T 0 底端开始不断剪枝,直到 T0 T 0 的根结点,形成一个子树序列 {T0,T1,...,Tn} { T 0 , T 1 , . . . , T n } ;然后通过交叉验证法独立的验证数据集上对子树序列进行测试,从中选择最优子树。平方误差或者基尼指数最小的决策树被认为是最优的决策树。

总结:

1.极大似然估计(maximum likelihood estimation,MLE)
在前一章中我们知道,要求得后验概率,首先要知道先验概率和类条件概率,一般来说,这两种概率都需要进行估计,先验概率比较好估计(直接用label除总样本数),而类条件概率就不好估计了,要估计这个条件概率的概率密度函数可能样本量不够,因此我们可以先假定类条件概率具有某种确定的概率分布形式(比如正态分布,均匀分布),再基于训练样本对概率分布的参数进行估计。
设样本集为D, D=x1,x2,...,xN D = x 1 , x 2 , . . . , x N ,样本分布的参数向量为 θ θ ,则似然函数为: L(θ)=P(x1,x2,...,xN|θ)=Ni=1(xi|θ) L ( θ ) = P ( x 1 , x 2 , . . . , x N | θ ) = ∏ i = 1 N ( x i | θ ) ,如果 θ^ θ ^ 是能够使似然函数取值最大的参数,则说明 θ^ θ ^ 就是 θ θ 的极大似然估计量。
这种参数化方法虽然能使类条件概率估计变得相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否存在潜在的真实数据分布。
2.为什么在CART中采用基尼指数?
查阅一些资料之后猜想是因为计算信息增益更加复杂,里面涉及到log对数运算,而基尼指数能够接近于熵之半,达到比较小的计算量。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值