机器学习笔记(九)——决策树的生成与剪枝
一、决策树的生成算法
基本的决策树生成算法主要有ID3和C4.5, 它们生成树的过程大致相似,ID3是采用的信息增益作为特征选择的度量,而C4.5采用信息增益比。构建过程如下:
- 从根节点开始,计算所有可能的特征的信息增益(信息增益比),选择计算结果最大的特征。
- 根据算出的特征建立子节点,执行第一步,直到所有特征的信息增益(信息增益比)很小或者没有特征可以选择为止。
以上算法只有树的生成,容易产生过拟合。
二、决策树的剪枝
决策树对于训练数据有很好的分类,但是对于未知测试集的分类并没有那么准确,这就产生过拟合的现象。其实,原理都是一样,决策树的构建是直到没有特征可选或者信息增益很小,这就导致构建的决策树模型过于复杂,而复杂的模型是通过在训练数据集上建立的,所以对于测试集往往造成分类的不准确,这就是过拟合。解决过拟合的方法是控制模型的复杂度,对于决策树来说就是简化模型,称为剪枝。很形象的就是减掉树中的一些节点。
决策树的剪枝一般通过极小化损失函数或者代价函数来实现。
设树T的叶节点的个数为|T|,t是树T的叶节点,该叶节点上有Nt个样本点,其中k类样本点有Ntk个,k=1,2,…,K,Ht(T)为叶节点t上的经验熵,α≥0为参数,则决策树的损失函数可以定义为:设树T的叶节点的个数为|T|,t是树T的叶节点,该叶节点上有N_t个样本点,其中\\k类样本点有N_{tk}个,k=1,2,\dots,K,H_t(T)为叶节点t上的经验熵,\alpha \ge 0 为\\参数,则决策树的损失函数可以定义为:
Cα(T)=∑t=1|T|NtHt(T)+α|T|(1)C_{\alpha}(T)=\sum_{t=1}^{|T|}N_tH_t(T)+\alpha|T| (1)
其中,经验熵为:Ht(T)=−∑kNtkNtlogNtkNt(2)H_t(T)=-\sum_k\frac{N_{tk}}{N_t} \log \frac{N_{tk}}{N_t}(2)
将(1)式的第一项记为:C(T)=∑t=1|T|NtHt(T)=−∑t=1|T|∑k=1KNtklogNtkNtC(T) = \sum_{t=1}^{|T|}N_tH_t(T) = -\sum_{t=1}^{|T|}\sum_{k=1}^KN_{tk} \log \frac{N_{tk}}{N_t}
则:Cα(T)=C(T)+α|T|(3)C_{\alpha}(T)=C(T)+\alpha|T| (3)
C(T)C(T)表示模型对训练数据的预测误差,即拟合度。|T||T|表示模型的复杂度,参数α≥0\alpha \ge 0控制两者之间的影响。剪枝就是当α\alpha确定时,选择损失函数最小的模型。子树越大,数据拟合得越好,但是模型的复杂度越高;相反,字数越小,数据拟合较差,模型的复杂度较低。损失函数正好表示对两者的平衡。
从上述分析可以看出,决策树的生成算法的模型复杂度很高,很好的地拟合了训练数据。需要重点提一下的是,(3)式定义的损失函数极小化等价于正则化的极大似然估计。
机器学习笔记(九)——决策树的生成与剪枝相关推荐
- 机器学习笔记16——决策树剪枝算法原理及python实现案例
决策树剪枝算法 引言 1.算法目的 2.算法基本思路: 3.决策树损失函数 4.剪枝类型: 4.1 预剪枝 4.2 后剪枝 4.3 两种剪枝策略对比 引言 \quad \quad在决策树.ID3.C4 ...
- 【机器学习笔记】——决策树(Decision Tree)
目 录 1 决策树 1.1 特征选择 1.1.1 基础定义 1.1.2 最优特征标准 1.2 树的生成 1.2.1 ID3 算法 1.2.2 C4.5 算法 1.2.2.1 如果特征是连续的 1.2. ...
- 决策树的生成与剪枝CART
跟我一起机器学习系列文章将首发于公众号:月来客栈,欢迎文末扫码关注! 在之前的一篇文章中,笔者分别介绍了用ID3和C4.5这两种算法来生成决策树.其中ID3算法每次用信息增益最大的特征来划分数据集,C ...
- 机器学习笔记(四)决策树
4.决策树 4.1基本流程 决策树(decisiontree)基于树结构进行决策,符合人的思维机制,是一类常见的机器学习方法.一般的,一棵决策树包含一个根结点.若干个内部结点和若干个叶结点.叶结点就对 ...
- 机器学习笔记II: 决策树
决策树的介绍 决策树是一种常见的分类模型,在金融分控.医疗辅助诊断等诸多行业具有较为广泛的应用.决策树的核心思想是基于树结构对数据进行划分,这种思想是人类处理问题时的本能方法.例如在婚恋市场中,女方通 ...
- 机器学习笔记2——决策树
文章目录 2.1简介 2.2 信息论基础 2.3 特征选择 2.4 ID3与C4.5 2.5 决策树的剪枝 2.6 CART 2.6.1 CART分类树 2.6.2 CART回归树 2.6.3 CAR ...
- 机器学习笔记(九)聚类
9.聚类 有必要回顾下前文所涉及的机器学习主流分类,有监督学习中根据预测结果离散和连续属性分为分类和回归两大类,常见的算法有:线性模型.决策树.神经网络.支持向量机.贝叶斯分类器以及集成学习. 本文开 ...
- python数据分析/机器学习 笔记之决策树(泰坦尼克号旅客生存预测)
最近在学习用python数据分析,不可避免的接触到了机器学习的一些算法,所以在这里简单整理一些学习的笔记和心得与大家分享! 首先机器学习分为:监督学习和非监督学习,前者有参照物,后者为参照物:主要分为 ...
- 机器学习笔记4-sklearn决策树(上)
决策树两大核心 如何划分数据集:何时停止划分数据集 一.决策树构造 特征选择,决策树生成,决策树修剪 决策树简介 决策树由结点(node)和有向边(directed edged)组成.结点有两种类型: ...
最新文章
- oracle 表查看依赖,oracle – 表依赖的递归查询不会像我想的那样递归
- process启动jar包判断成功_恒一广告助力2020年壹基金温暖包安康发放启动仪式成功举办...
- LeetCode 892. 三维形体的表面积(数学)
- 02-伪异步I/O通讯模型
- 全球首个AI合成主播发布,效果以假乱真!揭秘背后技术原理
- Oracle 数据库安装教程(11g)
- 企业选择WMS仓库管理系统免费版是否更好
- ADB 自动补全 及 offline 解决方法
- 禅与摩托车维修艺术(4)
- 一文读懂遗传算法工作原理(附Python实现)
- Oracle EBS子库存转移,项目转移whole LPN
- JQuery滚动条及位置相关方法
- Java处理Word, Excel, PDF文档的4种开源系统的代码例子
- 【学习笔记】IGMP snooping原理
- 企业虚拟主机怎么选择
- 怎样备考计算机二级,如何备考计算机二级Ms office高级应用
- onTouchEvent 和 onInterceptTouchEvent 事件触摸
- 项目策划书编写,企业策划书制作介绍
- sed 's 替换内容的\1是什么意思?
- 计算机日常维修保养,计算机硬件的日常维护与养护