机器学习笔记(九)——决策树的生成与剪枝

一、决策树的生成算法

基本的决策树生成算法主要有ID3和C4.5, 它们生成树的过程大致相似,ID3是采用的信息增益作为特征选择的度量,而C4.5采用信息增益比。构建过程如下:

  1. 从根节点开始,计算所有可能的特征的信息增益(信息增益比),选择计算结果最大的特征。
  2. 根据算出的特征建立子节点,执行第一步,直到所有特征的信息增益(信息增益比)很小或者没有特征可以选择为止。

以上算法只有树的生成,容易产生过拟合。

二、决策树的剪枝

决策树对于训练数据有很好的分类,但是对于未知测试集的分类并没有那么准确,这就产生过拟合的现象。其实,原理都是一样,决策树的构建是直到没有特征可选或者信息增益很小,这就导致构建的决策树模型过于复杂,而复杂的模型是通过在训练数据集上建立的,所以对于测试集往往造成分类的不准确,这就是过拟合。解决过拟合的方法是控制模型的复杂度,对于决策树来说就是简化模型,称为剪枝。很形象的就是减掉树中的一些节点。

决策树的剪枝一般通过极小化损失函数或者代价函数来实现。

设树T的叶节点的个数为|T|,t是树T的叶节点,该叶节点上有Nt个样本点,其中k类样本点有Ntk个,k=1,2,…,K,Ht(T)为叶节点t上的经验熵,α≥0为参数,则决策树的损失函数可以定义为:

Cα(T)=∑t=1|T|NtHt(T)+α|T|(1)

其中,经验熵为:

Ht(T)=?∑kNtkNtlogNtkNt(2)

将(1)式的第一项记为:

C(T)=∑t=1|T|NtHt(T)=?∑t=1|T|∑k=1KNtklogNtkNt

则:

Cα(T)=C(T)+α|T|(3)

C(T)表示模型对训练数据的预测误差,即拟合度。|T|表示模型的复杂度,参数α≥0控制两者之间的影响。剪枝就是当α确定时,选择损失函数最小的模型。子树越大,数据拟合得越好,但是模型的复杂度越高;相反,字数越小,数据拟合较差,模型的复杂度较低。损失函数正好表示对两者的平衡。

从上述分析可以看出,决策树的生成算法的模型复杂度很高,很好的地拟合了训练数据。需要重点提一下的是,(3)式定义的损失函数极小化等价于正则化的极大似然估计。

时间: 2024-10-15 02:13:30

机器学习笔记(九)——决策树的生成与剪枝的相关文章

斯坦福2014机器学习笔记九----支持向量机

一.纲要 支持向量机基础及优化目标 支持向量机的直观理解 核函数 二.内容详述 1.支持向量机基础以及优化目标 支持向量机(Support Vector Machine)与逻辑回归和神经网络相比,在学习复杂的非线性方程时提供了一种更为清晰,更为强大的方式.这部分我们就从逻辑回归一点点修改来得到本质上的SVM. 在前面的内容中,我们知道了逻辑回归的代价函数为,逻辑回归的输出函数为,把hθ(x)代入代价函数并将负号放进括号里得到 ,从这个代价函数中我们可以得到y=1和y=0时的结果 图中的曲线表示逻

周志华 机器学习 笔记

首先的阶段由卷积层和池化层组成,卷积的节点组织在特征映射块(feature maps)中,每个节点与上一层的feature maps中的局部块通过一系列的权重即过滤器连接.加权和的结果被送到非线性函数中如ReLU.一个feature maps中所有的节点分享相同的过滤器,即共享权重.这种结构的原因是双重的,第一,图像中一个值附近的值是高度相关的,第二,不同区域的值是不相干的.换句话说,一个图像某部分出现的特征会在其他部分出现,因此可以实现权值共享并且检测到相同模式在矩阵的不同部分,这种操作在数学

机器学习算法之决策树

机器学习算法之决策树 什么是决策树 决策树(Decision Tree)是一种简单但是广泛使用的分类器.通过训练数据构建决策树,可以高效的对未知的数据进行分类.决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析:2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度. 决策树是一个树结构(可以是二叉树或者非二叉树),非叶节点表示一个特征属性上的测试,每个分支代表在某个值域上的输出,每个叶节点存放一个类别. 测试就是按照从根节点往下走,直到叶节点

机器学习笔记——支持向量机(3)

八.核(kernel) 如果样本点为线性不可分,那么,需要将数据映射到高维空间,使在原始空间内其线性可分变为线性可分.如下图所示: 上文提到,分类器可以写成: 那么,如果使用一种映射的方法,将低维数据映射到高维(),使得线性不可分变为线性可分.称为特征映射函数,这样,分类器就变为: (1)实例 低维映射到高维能否将线性不可分变为线性可分呢?下面就举个例子来看.假设数据可以用决策的边界表示(如下图左所示),那么,利用, ,做映射,可以得到决策边界:.经过上述的映射变换,原来在圆内的点都在超平面的一

老男孩培训视频听课笔记九(在51cto上听的)--5.8 64bit 基础优化

定时清理clientmqueue目录垃圾文件防止占满磁盘空间: /var/spool/clientmqueue  --这个目录会自动创建很多的文件,可以用下面的命令来清理 find /var/spool/clientmqueue/ –type  f | xargs rm –fr mkdir /server/scripts –p vim del.sh: find /var/spool/clientmqueue/ –type  f | xargs rm –fr crontab -e */5 * *

【机器学习笔记之三】CART 分类与回归树

本文结构: CART算法有两步 回归树的生成 分类树的生成 剪枝 CART - Classification and Regression Trees 分类与回归树,是二叉树,可以用于分类,也可以用于回归问题,最先由 Breiman 等提出. 分类树的输出是样本的类别, 回归树的输出是一个实数. CART算法有两步: 决策树生成和剪枝. 决策树生成:递归地构建二叉决策树的过程,基于训练数据集生成决策树,生成的决策树要尽量大: 自上而下从根开始建立节点,在每个节点处要选择一个最好的属性来分裂,使得

机器学习笔记之基础概念

本文基本按照<统计学习方法>中第一章的顺序来写,目录如下: 1. 监督学习与非监督学习 2. 统计学习三要素 3. 过拟合与正则化(L1.L2) 4. 交叉验证 5. 泛化能力 6. 生成模型与判别模型 7. 机器学习主要问题 8. 提问 正文: 1. 监督学习与非监督学习 从标注数据中学习知识的规律以及训练模型的方法叫做监督学习,但由于标注数据获取成本较高,训练数据的数量往往不够,所以就有了从非标注数据,也就是非监督数据中学习的方法. 由于非监督数据更容易获取,所以非监督学习方法更适合于互联

cs229 斯坦福机器学习笔记(一)

前言 说到机器学习,很多人推荐的学习资料就是斯坦福Andrew Ng的cs229,有相关的视频和讲义.不过好的资料 != 好入门的资料,Andrew Ng在coursera有另外一个机器学习课程,更适合入门.课程有video,review questions和programing exercises,视频虽然没有中文字幕,不过看演示的讲义还是很好理解的(如果当初大学里的课有这么好,我也不至于毕业后成为文盲..).最重要的就是里面的programing exercises,得理解透才完成得来的,毕

Elasticsearch笔记九之优化

Elasticsearch笔记九之优化 优化从索引片段,内存设置,副本,分片,日志等方面入手.1:索引片段Es运行时会生成很多索引片段,执行查询时会打开这些索引片断.系统会限制打开索引片断的个数一旦超过这个个数限制就无法打开索引片断.我们可以通过命令来查看更改索引片断的限制数量.索引片断位置/usr/local/elasticsearch-1.4.4/data/elasticsearch/nodes/0/indices/shb01/0/index ulimit –a 查看索引片断数量,默认是10