一、集成学习

1.基础概念

\qquad 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,也被称为多分类器系统、基于委员会的学习等。
\qquad 集成学习的一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来。

同质集成,和异质集成
同质集成:所有的个体学习器都采用同种学习算法,例如C4.5决策树算法
异质集成:个体学习器采用不同的学习算法,例如个体学习器中同时包含决策树和神经网络等。

\qquad 集成学习通过将多个学习器进行结合,常可以获得比单一学习器显著优越的泛化性能。这对“弱学习器”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器。

2.结合策略

\qquad 集成学习是由多个个体学习器组成的,那怎样处理各个个体学习的输出,从而产生一个最终的输出呢?

通常采用的方法有三类:
(1)平均法
(2)投票法
(3)学习法

(1)平均法:
\qquad 针对的是数值型的输出,常采用此方法。
平均法有两种:
\qquad 简单平均法
\qquad 加权平均法
(2)投票法
\qquad 对于分类任务中,常采用的结合策略是投票法
投票法有三种:
\qquad 绝对多数投票法
\qquad 相对多数投票法
\qquad 加权投票法
(3)学习法
\qquad 当训练数据很多时,一种更为强大的结合策略是使用“学习法”,即通过另一个学习器来进行结合。其中,我们将个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。
\qquad Stacking是学习法的典型代表。
\qquad Stacking先从初始数据集训练出初级学习器,然后“生成”一个新的数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当做样例输入特征,而初始样本的标记仍被当作样例标记。

3.集成学习分类

\qquad 目前集成学习方法大致分为两大类:
\qquad 第一类:个体学习器间存在强依赖关系,必须串行生成的序列化方法。代表是:Boosting(提升方法)
\qquad 第二类:个体学习器间不存在强依赖关系、可同时生成的并行化方法。代表是:Bagging和随机森林(Random Forest)

二、Boosting系列

1.工作原理

\qquad Boosting系列算法的工作机制:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续收到更多的关注度(即更有可能被抽样到),然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值 T T T,最终将这 T T T个基学习器进行加权结合。

2.代表算法

(1)AdaBoost(Adaptive Boosting,自适应Boosting)
\qquad 具体实施过程:

1.刚开始每个样本的采样概率都是一样的,若有 N N N个样本,则每个样本的权值为: 1 / N 1/N 1/N;
2.训练弱分类器。在训练的过程中,如果某个样本点已经被准确的分类,那么在构造下一个训练集中,它的权值就降低;相反,要是分类错误,那么它的权值就增加,增加下次采样的概率。然后,对权值更新过的数据集进行采样,形成新的训练集,进行下一次的训练。
3.如此迭代进行下去.

用于分类问题
损失函数是指数函数

(2)GBDT(Gradient Boosting Decision Tree,梯度提升决策树,简称梯度提升树)
\qquad 它是一个在Boosting算法在损失函数上的泛化。能够用于分类和回归问题。
\qquad 梯度提升树的基本思想是拟合负梯度。
\qquad 梯度提升的典型基函数是决策树(CART)
\qquad 损失函数使用:平方误差

三、Bagging系列

Bagging是并行式集成学习方法最著名的代表

1.工作原理

\qquad Bagging算法,采用自助采样法,给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍可能被选中,这样,经过m次随机采样操作,我们得到含m个样本的采样集。如此反复,我们可以采样出T个含有m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。以上就是Bagging的基本流程。

Bagging算法针对分类任务,采用简单投票法
针对回归任务,采用简单平均法

四、随机森林

\qquad 随机森林(Random Forest,简称RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
\qquad 具体来说,传统决策树在选择划分属性时是在当前节点的额属性集合(假设有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。

机器学习(七)——集成学习:Boosting系列和Bagging系列相关推荐

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

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

  2. 机器学习 集成学习篇——python实现Bagging和AdaBOOST算法

    机器学习 集成学习篇--python实现Bagging和AdaBOOST算法 摘要 Bagging算法 Adaboost算法 摘要 本文通过python实现了集成学习中的Bagging和AdaBOOS ...

  3. 笔记—集成学习—Boosting

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

  4. A01_机器学习_3.集成学习

    从三种基本决策树到集成学习 决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型. 本文将分三篇介绍决策树,第一篇介绍基本树(包括 ID3.C4.5. ...

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

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

  6. 【机器学习】集成学习与模型融合方法举例

    [机器学习]集成学习与模型融合方法举例 文章目录 1 概述1.1 什么是集成学习 2 CrossValidation 交叉验证 3 stacking 4 Voting投票器 5 Bagging 1 概 ...

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

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

  8. 【机器学习】集成学习知识点总结二

    GBDT原理概述 GBDT是集成学习Boosting的一种.算法流程详见集成学习之梯度提升树GBDT. Gradient boosting的主要思想是,每一次建立单个学习器时,是在之前建立的模型的损失 ...

  9. 集成学习——Boosting(AdaBoost,Gradient Boosting)

    集成学习--Boosting 与bagging方法不同,boosting中各个分类器串行生成,第Hn个分类器会受到Hn-1个分类器的影响.其主要思想是使下一个分类器更加关注于在上一个分类器上不能很好预 ...

  10. ML《集成学习(一)Bagging 和 Random Forest》

    今天一起来学习集成学习,其中的Bagging和随机森林(Random Forest). 一:bootstrap 二:Bagging 三:随机森林(Random Forest)

最新文章

  1. 转:Oracle中的日期和字符串互相转换
  2. 8 9区别 endnote7_SAT和ACT的区别,你知道吗?
  3. 【Spring学习】spring动态配置多数据源
  4. iframe 跨域_【梯云纵】搞定前端跨域
  5. Mysql 默认约束 now_MYSQL中怎样设列的默认值为Now()的介绍
  6. 大小写 字符串_C# 读取环境变量,和字符串大小写转换
  7. R语言·文本挖掘︱Rwordseg/rJava两包的安装(安到吐血)
  8. Python 函数参数传递的困惑
  9. Charles的使用方法
  10. android应用程序开发宝典,android应用程序开发宝典.pdf
  11. delphi 操作excel 复选框
  12. easyui filebox 上传类型控制
  13. 微信绑定会员卡服务器出错,微信会员卡跳转到微信小程序出现如下错误?
  14. 加州房价预测项目详细笔记(Regression)——(1)研究数据获得灵感
  15. 区块链数字签名、验签,以及椭圆曲线算法JS库—elliptic的使用
  16. hadoop各版本下载地址
  17. C语言经典问题10-计算a+aa+aaa+...的值
  18. C#多线程(二) -- ThreadStart
  19. 树莓派魔镜MagicMirror —— 5 配置无线网络
  20. 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程

热门文章

  1. JAVA 日期Date加减整理
  2. 两个同名Cookie的问题
  3. 让 div中的div垂直居中的方法!!同样是抄袭来的(*^__^*)
  4. 使用MOT评测工具TrackEval评测自己的数据集
  5. 鄙视链是一种怪圈现象,那么IT行业也存在鄙视链吗?
  6. mysql数据库巡检
  7. 2016级算法第二次上机-A.画个圈圈诅咒你
  8. Latex常用符号集锦
  9. 海康DVR远程监控设置重点参数
  10. 背包问题(贪心算法)