统计学习方法笔记 决策树

决策树(decision tree)是一种基本的分类与回归方法。

决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。

它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。其

主要优点是模型具有可读性,分类速度快。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。

预测时,对新的数据,利用决策树模型进行分类。

决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。

这些决策树学习的思想主要来源于由Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及由Breiman等人在1984年提出的CART算法。

?

?

决策树模型

决策树与if-then规则

可以将决策树看成一个if-then规则的集合。

由决策树的根结点到叶结点的每一条路径构建一条规则;

路径上内部结点的特征对应着规则的条件,而叶结点的类对应着规则的结论。

决策树的路径或其对应的if-then规则集合具有性质:互斥并且完备。

这就是说,每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖。

这里所谓覆盖是指实例的特征与路径上的特征一致或实例满足规则的条件。

?

决策树学习

给定数据集:

输入实例Xi

标记类yi

决策树学习本质上是从训练数据集中归纳出一组分类规则。

与训练数据集不相矛盾的决策树(即能对训练数据进行正确分类的决策树)可能有多个,也可能一个也没有。

我们需要的是一个与训练数据矛盾较小的决策树,同时具有很好的泛化能力。

从另一个角度看,决策树学习是由训练数据集估计条件概率模型。

基于特征空间划分的类的条件概率模型有无穷多个。

选择的条件概率模型应该不仅对训练数据有很好的拟合,而且对未知数据有很好的预测。

?

决策树学习用损失函数表示目标。

决策树学习的损失函数通常是正则化的极大似然函数。

决策树学习的策略是损失函数最小化。

当损失函数确定以后,学习问题就变为在损失函数意义下选择最优决策树的问题。

因为从所有可能的决策树中选取最优决策树是NP完全问题,

所以现实中决策树学习算法通常采用启发式方法,近似求解这一最优化问题。

决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,

使得对各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。

开始,构建根结点,将所有训练数据都放在根结点。

选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。

若子集已能够被基本正确分类,那么构建叶结点,并将这些子集分到所对应的叶结点中去;

若子集不能被基本正确分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的结点。

如此递归地进行下去,直至所有训练数据子集被基本正确分类,或者没有合适的特征为止。

最后每个子集都被分到叶结点上,即都有了明确的类。这就生成了一棵决策树。

以上方法生成的决策树可能对训练数据有很好的分类能力,但对未知的测试数据却未必有很好的分类能力,即可能发生过拟合现象。

?

我们需要对已生成的树自下而上进行剪枝,将树变得更简单,从而使它具有更好的泛化能力。

具体地,就是去掉过于细分的叶结点,使其回退到父结点,甚至更高的结点,然后将父结点或更高的结点改为新的叶结点。

如果特征数量很多,也可以在决策树学习开始的时候,对特征进行选择,只留下对训练数据有足够分类能力的特征。

决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程。

由于决策树表示一个条件概率分布,所以深浅不同的决策树对应着不同复杂度的概率模型。

决策树的生成对应于模型的局部选择,决策树的剪枝对应于模型的全局选择。

决策树的生成只考虑局部最优,相对地,决策树的剪枝则考虑全局最优。

决策树学习常用的算法有ID3、C4.5与CART

?

特征选择问题

特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率。

如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的。

经验上扔掉这样的特征对决策树学习的精度影响不大。通常特征选择的准则是信息增益或信息增益比。

直观上,如果一个特征具有更好的分类能力,按照这一特征将训练数据集分割成子集,

使得各个子集在当前条件下有最好的分类,那么就更应该选择这个特征。

信息增益(information gain)就能够很好地表示这一直观的准则。

?

?

信息增益

在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量。

设X是一个取有限个值的离散随机变量,其概率分布为:

则随机变量X的熵定义为:

熵越大,随机变量的不确定性就越大。从定义可验证

若随机变量取0,1,熵为:

这时,熵H(p)随概率p变化的曲线如下图所示(单位为比特)。

当p=0或p=1时H(p)=0,随机变量完全没有不确定性。

当p=0.5时,H(p)=1,熵取值最大,随机变量不确定性最大。

?

设有随机变量(X,Y),其联合概率分布为

条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。

pi=P(X=xi),i=1,2,…,n。

当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,

所对应的熵与条件熵分别称为经验熵(empirical entropy)

经验条件熵(empirical conditional entropy)

信息增益(information gain)表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。

?

信息增益

特征A对训练数据集D的信息增益g(D,A),

定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差

熵H(Y)与条件熵H(Y|X)之差称为互信息(mutual information)

决策树学习中的信息增益等价于训练数据集中类与特征的互信息

决策树学习应用信息增益准则选择特征。

给定训练数据集D和特征A,经验熵H(D)表示对数据集D进行分类的不确定性。

而经验条件熵H(D|A)表示在特征A给定的条件下对数据集D进行分类的不确定性。

那么它们的差,即信息增益,就表示由于特征A而使得对数据集D的分类的不确定性减少的程度。

显然,对于数据集D而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益。

信息增益大的特征具有更强的分类能力。

?

根据信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

信息增益的算法

输入:训练数据集D和特征A;

输出:特征A对训练数据集D的信息增益g(D,A)。

计算数据集D的经验熵H(D):

计算特征A对数据集D的经验条件熵H(D|A):

计算信息增益:

?

?

ID3算法

ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。

具体方法是:从根结点(root node)开始,对结点计算所有可能的特征的信息增益,

选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;

再对子结点递归地调用以上方法,构建决策树;

直到所有特征的信息增益均很小或没有特征可以选择为止。

最后得到一个决策树。ID3相当于用极大似然法进行概率模型的选择。

?

?

C4.5

利用信息增益比来作为特征选择的方式

?

决策树的剪枝

在决策树学习中将已生成的树进行简化的过程称为剪枝(pruning)。

具体地,剪枝从已生成的树上裁掉一些子树或叶结点,

并将其根结点或父结点作为新的叶结点,从而简化分类树模型。

决策树的剪枝通过极小化决策树整体的损失函数(loss function)

或代价函数(cost function)来实现。

设树T的叶结点个数为|T|,

t是树T的叶结点,

该叶结点有Nt个样本点,其中k类的样本点有Ntk个,k=1,2,…,K

Ht(T)为叶结点t上的经验熵,a≥0为参数,

则决策树学习的损失函数可以定义为

其中经验熵为:

在损失函数中,右端的第1项记作:

这时有:

C(T)表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,

|T|表示模型复杂度,参数a≥0控制两者之间的影响。

较大的a促使选择较简单的模型(树),

较小的a促使选择较复杂的模型(树)。

a=0意味着只考虑模型与训练数据的拟合程度,不考虑模型的复杂度。

剪枝,就是当a确定时,选择损失函数最小的模型,即损失函数最小的子树。

当a值确定时,子树越大,往往与训练数据的拟合越好,但是模型的复杂度就越高;

相反,子树越小,模型的复杂度就越低,但是往往与训练数据的拟合不好。

损失函数正好表示了对两者的平衡。

可以看出,决策树生成只考虑了通过提高信息增益(或信息增益比)对训练数据进行更好的拟合。

而决策树剪枝通过优化损失函数还考虑了减小模型复杂度。

决策树生成学习局部的模型,而决策树剪枝学习整体的模型。

?

定义的损失函数的极小化等价于正则化的极大似然估计。

利用损失函数最小原则进行剪枝就是用正则化的极大似然估计进行模型选择

?

树的剪枝算法

生成算法产生的整个树T,参数a;

1.计算每个结点的经验熵。

2.递归地从树的叶结点向上回缩

设一组叶结点回缩到其父结点之前与之后的整体树分别为TB与TA

其对应的损失函数值分别是Ca(TB)与Ca(TA),如果

则进行剪枝,即将父结点变为新的叶结点。

3.返回2,直至不能继续为止,得到损失函数最小的子树Ta

?

?

CART生成树

对分类树用基尼指数(Gini index)最小化准则

回归树通常称为最小二乘回归树(least squares regression tree)

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

时间: 2024-08-05 10:15:53

统计学习方法笔记 决策树的相关文章

统计学习方法笔记--监督学习

监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测,计算机的基本操作就是给定一个输入产生一个输出. 基本概念:输入空间.特征空间与输出空间 在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space). 每个具体的输入是一个实例(instance),通常有特征向量(feature vector)表示.这时,所有特征向量存在的空间称为特征空间(featur

统计学习方法笔记(1)——统计学习方法概论

1.统计学习 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称统计机器学习.统计学习是数据驱动的学科.统计学习是一门概率论.统计学.信息论.计算理论.最优化理论及计算机科学等多个领域的交叉学科. 统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去.统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提. 统计学习的目的就是考虑学习什么样的模型和如何学习模型. 统计学习

统计学习方法 笔记<第一章>

第一章 统计学习方法概述 1.1 统计学习 统计学习(statistical learning)是关于计算机基于数据概率模型并运用模型进行预测和分析的学科.统计学习也称为统计机器学习,现在人们提及的机器学习一般都是指统计机器学习. 统计学习的对象是数据(data),关于数据的基本假设是同类数据具有一定的统计规律性(前提):比如可以用随机变量描述数据中的特征,用概率分布描述数据的统计规律等. 统计学习的目的:对现有的数据进行分析,构建概率统计模型,分析和预测未知新数据,同时也需要考虑模型的复杂度以

统计学习方法笔记 提升树

提升树是以分类树或回归树为基本分类器的提升方法 提升树被认为是统计学习中性能最好的方法之一 提升方法实际采用加法模型(基函数的线性组合)与前向分步算法 以决策树为基函数的提升方法称为提升树 ? 对分类问题决策树是二叉分类树 对回归问题决策树是二叉回归树 ? 提升树模型可以表示为决策树的加法模型: T(x;Θm)表示决策树: Θm为决策树的参数: M为树的个数. 提升树算法采用前向分步算法. 首先确定初始提升树f0(x)=0,第m歩的模型是 fm-1(x)为当前模型,通过经验风险极小化确定下一棵决

统计学习方法五 决策树分类

决策树分类 1,概念 2,决策树算法 2.1,特征选择: 熵:值越大,不确定性因素越大:条件熵:条件对结果的影响不确定性:信息增益:信息增益比 2.2,决策树生成算法 1,ID3算法 2,c4.5算法 3,实例说明   4,CART决策树算法 4.1 决策树生成 回归树生成             分类树生成         举个例子: 第一种划分方法:{"学生"}.{"老师"."上班族"} 来预测婚姻 第二种划分方法:{"老师&quo

统计学习方法笔记 -- 隐马尔可夫模型

参考,隐马尔可夫模型(HMM)攻略 首先看看确定的状态序列,这种状态序列中状态的变化是确定的,比如 红绿灯,一定是绿灯->红灯->黄灯,这样的状态序列 当然也有些不确定状态序列,比如 天气,今天是晴天,你不能确定明天也一定是晴天或雨天 于是我们用概率来表示这种不确定性,称为马尔可夫过程 (Markov Process),马尔可夫过程的阶数表示当前状态依赖于过去几个状态,出于简单考虑往往用一阶马尔可夫过程,即当前状态仅仅取决于前一个状态. 马尔可夫过程,由状态集合,初始状态和状态转移矩阵组成,

统计学习方法笔记2:感知机

1.感知机:二类分类的线性模型,输入为实例的特征向量,输出为某类别,取+1和-1.目的在求出将训练数据进行线性划分的分离超平面,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化求得感知机模型. 2.感知机模型: ,sign为符号函数,w为权值或权向量,b为偏置. 其几何解释:对应一个越平面,w为法向量,b截距. 3.感知机学习策略 1)数据集的线性可分性: 数据集,存在一个超平面S将数据集正实例和负实例完全分布在平面两侧. 2)策略: 任意点到超平面的距离:或 总距离:,在不考虑1/

统计学习方法笔记 Logistic regression

logistic distribution 设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数: 式中,μ为位置参数,γ>0为形状参数. 密度函数是脉冲函数 分布函数是一条Sigmoid曲线(sigmoid curve)即为阶跃函数 ? ? 二项逻辑斯谛回归模型 二项逻辑斯谛回归模型是如下的条件概率分布 x?Rn是输入,Y?{0,1}是输出,w?Rn和b?R是参数, w称为权值向量,b称为偏置,w·x为w和x的内积. 可以求得P(Y=1|x)和P(Y=0|x). 逻辑斯谛回归

统计学习方法笔记(KNN)

k近邻法(k-nearest neighbor,k-NN) 输入:实例的特征向量,对应于特征空间的点:输出:实例的类别,可以取多类. 分类时,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测. 实例类别已定,不具有显式的学习过程.k近邻法实际上利用训练数据集对特征 向量空间进行划分,并作为其分类的"模型". 三个基本要素:k值的选择.距离度量及分类决策规则. ? KDtree 实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索. k近邻法最简单的实现方法是线性