一、决策树的生成算法

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

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

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

二、决策树的剪枝

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

设树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=1KNtklogNtkNt

C(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)式定义的损失函数极小化等价于正则化的极大似然估计。

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

  1. 机器学习笔记16——决策树剪枝算法原理及python实现案例

    决策树剪枝算法 引言 1.算法目的 2.算法基本思路: 3.决策树损失函数 4.剪枝类型: 4.1 预剪枝 4.2 后剪枝 4.3 两种剪枝策略对比 引言 \quad \quad在决策树.ID3.C4 ...

  2. 【机器学习笔记】——决策树(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. ...

  3. 决策树的生成与剪枝CART

    跟我一起机器学习系列文章将首发于公众号:月来客栈,欢迎文末扫码关注! 在之前的一篇文章中,笔者分别介绍了用ID3和C4.5这两种算法来生成决策树.其中ID3算法每次用信息增益最大的特征来划分数据集,C ...

  4. 机器学习笔记(四)决策树

    4.决策树 4.1基本流程 决策树(decisiontree)基于树结构进行决策,符合人的思维机制,是一类常见的机器学习方法.一般的,一棵决策树包含一个根结点.若干个内部结点和若干个叶结点.叶结点就对 ...

  5. 机器学习笔记II: 决策树

    决策树的介绍 决策树是一种常见的分类模型,在金融分控.医疗辅助诊断等诸多行业具有较为广泛的应用.决策树的核心思想是基于树结构对数据进行划分,这种思想是人类处理问题时的本能方法.例如在婚恋市场中,女方通 ...

  6. 机器学习笔记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 ...

  7. 机器学习笔记(九)聚类

    9.聚类 有必要回顾下前文所涉及的机器学习主流分类,有监督学习中根据预测结果离散和连续属性分为分类和回归两大类,常见的算法有:线性模型.决策树.神经网络.支持向量机.贝叶斯分类器以及集成学习. 本文开 ...

  8. python数据分析/机器学习 笔记之决策树(泰坦尼克号旅客生存预测)

    最近在学习用python数据分析,不可避免的接触到了机器学习的一些算法,所以在这里简单整理一些学习的笔记和心得与大家分享! 首先机器学习分为:监督学习和非监督学习,前者有参照物,后者为参照物:主要分为 ...

  9. 机器学习笔记4-sklearn决策树(上)

    决策树两大核心 如何划分数据集:何时停止划分数据集 一.决策树构造 特征选择,决策树生成,决策树修剪 决策树简介 决策树由结点(node)和有向边(directed edged)组成.结点有两种类型: ...

最新文章

  1. oracle 表查看依赖,oracle – 表依赖的递归查询不会像我想的那样递归
  2. process启动jar包判断成功_恒一广告助力2020年壹基金温暖包安康发放启动仪式成功举办...
  3. LeetCode 892. 三维形体的表面积(数学)
  4. 02-伪异步I/O通讯模型
  5. 全球首个AI合成主播发布,效果以假乱真!揭秘背后技术原理
  6. Oracle 数据库安装教程(11g)
  7. 企业选择WMS仓库管理系统免费版是否更好
  8. ADB 自动补全 及 offline 解决方法
  9. 禅与摩托车维修艺术(4)
  10. 一文读懂遗传算法工作原理(附Python实现)
  11. Oracle EBS子库存转移,项目转移whole LPN
  12. JQuery滚动条及位置相关方法
  13. Java处理Word, Excel, PDF文档的4种开源系统的代码例子
  14. 【学习笔记】IGMP snooping原理
  15. 企业虚拟主机怎么选择
  16. 怎样备考计算机二级,如何备考计算机二级Ms office高级应用
  17. onTouchEvent 和 onInterceptTouchEvent 事件触摸
  18. 项目策划书编写,企业策划书制作介绍
  19. sed 's 替换内容的\1是什么意思?
  20. 计算机日常维修保养,计算机硬件的日常维护与养护

热门文章

  1. 【OpenCV 例程200篇】36. 直角坐标与极坐标的转换
  2. 飞行棋 c语言,骑士飞行棋【纯c】
  3. css样式全大写,用css样式表实现首字大写
  4. C语言-字符串处理函数strcat
  5. python两个字典合并,两个list合并
  6. python闭包与装饰器的代码解释
  7. js判断数组里是否有重复元素的方法
  8. 中值滤波去除图像噪声的matlab程序
  9. Spring:与Redis的集成
  10. selenium 基本的键盘方法