从上面几篇的决策树开始,就可以开始进入到集成学习(ensemble learning)了,与其说集成学习是一种算法,倒不如说集成学习是一种思想.
集成学习的思想也是很自然很符合人类直观理解的. 用通俗的不能更通俗的话来说,要是一个机器学习器解决不了问题,那就多训练几个.再把这些学习器结合起来完成机器学习任务. 可以类比开会,一群人讨论得到的解决办法一般比一个人拍板的要好.
用过集成学习之后,一般来说,效果都会比某些单一的算法效果要好.所以,不管是为了排名还是为了其他的东西,kaggle等机器学习竞赛一大部分方案都会使用集成学习的,你懂得.
这篇只讲集成学习的主要思想和最常见的学习策略.并不带有太多的理论数学推导,在之后的下篇会加入进来.

一.概述

前面就已经讲到了,集成学习的思想是,我们可以训练很多个学习器,通过一定的结合策略,最终形成一个强的学习器.形象一点看下图.

所以,你会很自然的考虑:

我们通过怎样的方式来得到n个学习器呢?
得到n个学习器之后,我们通过怎样的策略来结合呢?

下面的内容就这两个疑惑来讲一下常见的训练多个学习器的方法和结合多个学习器的方法.

二.怎么得到多个学习器

这一部分举两个最常见的得到多个学习器的思路.一种是bagging,另外一种是boosting.

Ⅰ.bagging

要理解bagging,首先知道bootstrap词汇的故事.这个词汇表示的是靴子上面的小环或者是悬挂物等等,通过这个小东西能够方便穿靴子.意思是不依靠外界的帮助,或者叫做自助法.
在这里表示一种有放回的抽样方法.所以以后看到bootstrap这个词不要不知道是什么意思.同样,你可能会经常看到一个词叫做bootstrap sampling.这个词的意思是自助采样,对于N个样本的训练集,我从里面随机取出m个样本,得到一个子训练集.然后把这些样本放回. 然后再取m个样本,得到第二个子训练集,再放回去………..重复这样的步骤k次,得到k个子训练集.
Bagging可以看做是bootstrap aggregation的简写.
bagging得到多个学习器的方式为:

通过自助采样的方法得到K个训练集,然后分别在这K个训练集上面训练学习器.然后就得到了K个学习器.

非常简单的思想,形象一点如下图所示.

需要注意的是,bagging对于弱学习器没有限制,也就是说,你可以用决策树,SVM等等都是可以的.一般常用的是决策树和神经网络.
因为baggin的随机采样思路,模型的泛化能力很强,降低了模型的方差.但是对于训练集的拟合程度就不是那么好,也就是说偏差会大一些.
符合bagging思想的比较出名的学习算法就是随机森林了,在后面会详细来讲随机森林.这里先知道随机森铃的思想算是bagging就行.

Ⅱ.boosting

boosting的思想是:

训练集(其中各个元素)的权重是根据学习器的表现来改变的.

这个和bagging就有很大的不同了.bagging采用自助采样的方式”产生”出多个训练集.但是boosting只有一个训练集,但是训练集中各个元素(输入向量)的权重是不同的.

详细一点,boosting是先从具有初始权重的训练集训练出一个弱学习器1,然后根据弱学习器1的表现,来更新样本的权重. 然后再具有新的权重的训练集上面训练弱学习器2,然后根据弱学习器2的表现来更新样本的权重……..反复多次 ,得到m个学习器,最后整合这些弱学习器得到强学习器.
形象一点的话看下图.

这里并不详细展开讲权重改变的具体细节,因为这篇的目的是快速理解思想,为后面的打基础.更具体的在后面的博客会详细给出.
Boosting框架下面比较出名好用的就是Adaboost算法和提升树了.后面都会讲到.

三.通过怎样的策略结合学习器

这里只能说要粗略的带过了,因为后面会从具体的实例里面体会怎么结合各种学习器.比在这里泛泛而谈要有用得多.
重点是要好好理解bagging和boosting的思想.

机器学习笔记十三:Ensemble思想(上)相关推荐

  1. 神经网络与机器学习 笔记—基本知识点(上)

    神经网络与机器学习 笔记-基本知识点(上) 0.1 什么是神经网络: 神经网络是由简单处理单元构成的大规模并行分布处理器,天然具有存储经验知识和使之可用的特性.神经网络在两个方面与大脑类似. 神经网络 ...

  2. 吴恩达机器学习笔记十三之推荐系统

    本节目录 1 问题形式化 2 基于内容的推荐系统 3 协同过滤 4 向量化:低秩矩阵分解 5 推行工作上的细节:均值归一化 1 问题形式化 对机器学习来说,特征是很重要的,你所选择的特征,将对你学习算 ...

  3. 机器学习笔记(十三)半监督学习

    13.半监督学习 这章介绍半监督学习方法. 13.1未标记样本 先说两个概念: 1)有标记样本(Labeled) 训练样本集Dl={(x1,y1), (x2,y2),-, (xl,yl)},这l个样本 ...

  4. 机器学习笔记十四:随机森林

    在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式.  而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...

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

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

  6. 机器学习笔记之深度信念网络(二)模型构建思想(RBM叠加结构)

    机器学习笔记之深度信念网络--模型构建思想 引言 回顾:深度信念网络的结构表示 解析RBM隐变量的先验概率 通过模型学习隐变量的先验概率 小插曲:杰森不等式(2023/1/11) 杰森不等式的数学证明 ...

  7. 李弘毅机器学习笔记:第十三章—CNN

    李弘毅机器学习笔记:第十三章-CNN 为什么用CNN Small region Same Patterns Subsampling CNN架构 Convolution Propetry1 Propet ...

  8. 最小错误率贝叶斯决策的基本思想_机器学习笔记—模式识别与智能计算(四)基于概率统计的贝叶斯分类器设计(贝叶斯决策)...

    系列文章: 机器学习笔记-模式识别与智能计算(一)模式识别概述 机器学习笔记-模式识别与智能计算(二)特征的选择与优化 机器学习笔记-模式识别与智能计算(三)模式相似性测度 同类文章: 机器学习笔记- ...

  9. 机器学习笔记(六) ---- 支持向量机(SVM)

    支持向量机(SVM)可以说是一个完全由数学理论和公式进行应用的一种机器学习算法,在小批量数据分类上准确度高.性能好,在二分类问题上有广泛的应用. 同样是二分类算法,支持向量机和逻辑回归有很多相似性,都 ...

最新文章

  1. 逻辑结构图向关系转换规则3
  2. hadoop 环境搭建
  3. 奥克兰大学计算机科学与技术,奥克兰大学与2016级计算机科学技术专业(中外合作办学)学生见面会顺利进行...
  4. javascript --- 尾递归优化的实现
  5. nssl1522-简单数数题【dp】
  6. mysql备份需要停应用吗_对于含有innodb表的实例进行文件拷贝备份时必须停mysql实例吗...
  7. 在c语言中优先级最低的是6,C语言中 *,<<,= ,->哪个优先级最低
  8. 【jQuery】jQuery对本地json的读取和遍历
  9. java url拦截器框架_使用Spring Interceptor实现URL访问校验
  10. linux 下ip命令对比ifconfig命令
  11. pytorch学习:运行Mask R-CNN例程
  12. 用animation制作走马灯
  13. BZOJ 1503 郁闷的出纳员 Splay
  14. 生产环境中的PHP WEB 简单架构
  15. javascript 绘制uml_Javascript 设计模式之面向对象与 UML 类图
  16. Daemontools和Supervisor管理linux常驻进程
  17. 传奇单机架设GOM引擎图文教程!
  18. 快速排序(随机主元)、随机数生成和随机选择算法
  19. 电脑监控是真的吗?4个实验一探究竟
  20. Python入门 类型转换

热门文章

  1. 基于PEview分析PE文件(4-1)
  2. 10分钟搞懂蚁群算法
  3. 戴尔R730XD服务器的不定时蓝屏研究 蓝屏错误代码 0x00000124
  4. 纯干货:分享一些跨境电商客服经常会用到的话术(含中英文)
  5. 微信公共号分享链接配置
  6. 周志华机器学习(一)
  7. c++调用python详细教程
  8. Android WebView 不能弹出alert的对话框
  9. 云计算Linux运维——Linux系统——软件管理
  10. python上方菜单栏不见了_python tkinter-菜单栏