推荐阅读: 多样性 ;Boosting;AdaBoost

第八章 集成学习

8.1个体与集成

关键词:集成学习;弱学习器;多样性

集成学习(ensemble learning 美[ɑ:nˈsɑ:mbl])通过构建并结合多个学习器(分类器)来完成分类任务。集成学习的一般结构:先产生一组“个体学习器”(individual learner),再用某种策略将它们结合起来。集成学习有两个关键的东西,第一,就是一组个体学习器;第二,结合策略。对于结合策略,通俗易懂的有投票法。而如何选取一组个体学习器是首要问题。个体学习器又称为基学习器(base learner)

集成学习通过对多个学习器进行组合,通常可获得比单一学习器更优的泛化性能。这对“弱学习器”(weak learner)尤为明显,因此集成学习很多研究是针对弱学习器,而基学习器有时也被直接称为弱学习器。在不正式的说法下,基学习器,弱学习器,弱分类器,个体学习器说的都是一个东西。

从经验我们可以知道,把好坏不等的东西掺在一起,通常结果会比最好的要坏,比最坏的要好。集成学习把多个学习器集合起来,如何获得比最好的单一学习器获得更好的性能呢?其实就是要让个体学习器尽量的有差异,否者集成学习就达不到集成的目的了。

可以这样理解,假设现在用5个个体学习器做集成,最终结果用投票法产生,即少数服从多数。当个体学习器差异性不足的话,考虑一个极端例子,5个个体学习器都是由同一个学习器,复制而来,那么,5个学习器的预测结果和一个学习器预测结果完全相同,就达不到集成学习的目的了。因此,个体学习器应该“好而不同”,既要保证个体学习器的“准确性”,还要保证不同学习器之间的“多样性”。然而,准确性和多样性是冲突,在准确性和多样性上如何选择,权衡,如何产生“好而不同”的个体学习器,正是集成学习的核心。

根据个体学习器的生成方式,集成学习可分成两大类:
第一,个体学习器之间存在强依赖关系、必须串行生成,例如:Boosting
第二,个体学习器之间不存在强依赖关系,可同时生成的,例如:Bagging和随机森林(Random Forest)

8.2 Boosting

关键词:Boosting;AdaBoost

上一节提到,根据个体学习器的生成方式,集成学习方法大致分类两大类:
第一,个体学习器之间存在强依赖关系、必须串行生成,例如:Boosting,
第二,个体学习器之间不存在强依赖关系,可同时生成的,例如:Bagging和随机森林(Random Forest)。

这里就要讲一讲Boosting算法。Boosting工作机制是这样的,先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,主要是让后面的学习器更关注前面学习器分错的那一部分样本。Boosting算法中,最著名的就是AdaBoost(Adaptive Boosting),AdaBoost是由Yoav Freund,Robert Schapire提出,
Schapire还提出了一种早期的Boosting算法,易于理解Boosting,我们来看看其主要过程:
1.从样本整体集合D中,不放回的随机抽样n1 < n 个样本,得到集合 D1;训练弱分类器C1
2.从样本整体集合D中,抽取 n2 < n 个样本,其中合并进一半被 C1 分类错误的样本。得到样本集合 D2;训练弱分类器C2
3.抽取D样本集合中,C1 和 C2 分类不一致样本,组成D3;训练弱分类器C3
4.用三个分类器做投票,得到最后分类结果

AdaBoost算法具体如下:

Boosting算法主要是让学习器能对特定的数据分布进行学习,这主要通过重赋权法(re-weighting)实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重。从偏差-方差分解的角度看,Boosting主要关注降低偏差。

【机器学习-西瓜书】八、集成学习:Boosting相关推荐

  1. 【机器学习】集成学习—Boosting—GBM(Gradient Boosting Machine)解析

    [机器学习]集成学习-Boosting-GBM(Gradient Boosting Machine)解析 文章目录 [机器学习]集成学习-Boosting-GBM(Gradient Boosting ...

  2. 机器学习西瓜书-1-2章

    学习目标: 概览机器学习西瓜书 1.2章 学习内容: 第一章 绪论 1.1 基本术语 1.2 假设空间 1.3 归纳偏好 1.4 发展历程 第二章 模型评估与选择 2.1 经验误差与过拟合 2.2 评 ...

  3. 集成学习-Boosting集成学习算法GBDT

    GBDT算法的核心为:先构造一个(决策)树,然后不断在已有模型和实际样本输出的残差上再构造一颗树,依次迭代. 目录 Decistion Tree(决策树) Gradient Boosting(梯度提升 ...

  4. 笔记—集成学习—Boosting

    集成学习--Boosting 一.引言 在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型.但是,实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模 ...

  5. 机器学习西瓜书(周志华)第七章 贝叶斯分类器

    第七章 贝叶斯分类器 1. 贝叶斯决策论 1.1 先验分布 1.2 后验分布 1.3 似然估计 1.4 四大概率在贝叶斯分类中指代含义 1. 朴素贝叶斯 7. 课后练习参考答案 1. 贝叶斯决策论 贝 ...

  6. python神经网络算法pdf_Python与机器学习实战 决策树、集成学习、支持向量机与神经网络算法详解及编程实现.pdf...

    作 者 :何宇健 出版发行 : 北京:电子工业出版社 , 2017.06 ISBN号 :978-7-121-31720-0 页 数 : 315 原书定价 : 69.00 主题词 : 软件工具-程序设计 ...

  7. 机器学习系列笔记十三: 集成学习/模型聚合

    机器学习系列笔记十三: 集成学习/模型聚合 文章目录 机器学习系列笔记十三: 集成学习/模型聚合 什么是集成学习 Voting Hard Voting 模拟实现Hard Voting 集成学习 使用V ...

  8. 机器学习西瓜书南瓜书 神经网络

    机器学习西瓜书&南瓜书 神经网络 1. 神经元模型 神经网络:由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实事件物体所做出的交互反应. 神经网络最基本的成分 ...

  9. 04 集成学习 - Boosting - AdaBoost算法构建

    03 集成学习 - Boosting - AdaBoost算法原理 十.AdaBoost算法构建 上一章最后说明了每个基模型的权值α是如何求得的,于是我就可以对模型进行更新操作了. 构建过程一 1.假 ...

  10. 周志华-机器学习西瓜书-第三章习题3.3 编程实现对率回归

    本文为周志华机器学习西瓜书第三章课后习题3.3答案,编程实现对率回归,数据集为书本第89页的数据 使用tensorflow实现过程 # coding=utf-8 import tensorflow a ...

最新文章

  1. 异常“企图释放并非呼叫方所拥有的多用户终端运行程序”的处理
  2. mysql oracle 表空间大小_最简单的查询表空间的使用量、剩余量的方法 - Focus on Oracle、MySQL and GNU/Linux...
  3. Beyond Compare配置
  4. Android Gallery3D源码分析(一)
  5. 光立方体c语言程序,444光立方程序怎么写 光立方原理图、源代码及制作教程
  6. 电脑写作与发布哪款软件好?
  7. 悉尼大学计算机专业新生,2020年悉尼大学计算机科学专业课程设置难不难
  8. PCI/PCIe转串口Linux驱动使用说明
  9. ADSL自动更换IP的方法
  10. EFI Driver Model(上)
  11. HOJ 1568 Fibonacci(对数,数列通项公式)
  12. JavaSE基础(134) 打印流
  13. python3.9.0 安装教程
  14. CSS Grid 网格布局完整教程
  15. DOSLinux命令大全
  16. 高并发、高性能下的 会员系统[同程艺龙] — 高可用架构设计实践
  17. 什么叫大数据 大数据的概念
  18. CSS Emmet 语法
  19. 【Flink实战系列】Flink SQL 之 Session Window 的用法
  20. utf-8编码下,一个字符最多占几个字节?

热门文章

  1. 基于visual Studio2013解决面试题之1102合并字符串
  2. 代码测试:简单用户注册信息验证
  3. java 导出文件上传模板,上传Excel文件批量导入数据
  4. sleep和sleep(0)的区别
  5. TCP/UDP套接字网络协议
  6. EntityFramework中的DbContext使用疑点说明
  7. [已解决问题] Could not find class XXX referenced from method XXX.YYY
  8. It企业的上市与退市
  9. 组态王和modbus协议
  10. 数据结构与算法学习笔记02-单向链表