文章目录

  • 集成学习的朴素思想
  • Bootstrap理论
  • Bagging
  • 随机森林
  • Boosting

集成学习的朴素思想

集成学习基于这样的思想:对于比较复杂的任务,综合许多人的意见来进行决策会比“一家独大”要更好。换句话说、就是通过适当的方式集成许多“个体模型”所得到的最终模型要比单独的“个体模型”的性能更优。
我们面临两个问题:如何选择、生成弱分类器和如何对它们进行提升(集成)?
第一种做法期望各个弱分类器之间依赖性不强、可以同时进行生成。这种做法又称并行方法,其代表为 Bagging,而 Bagging 一个著名的拓展应用便是随机森林(Random Forest,常简称为 RF)。
第二种做法中弱分类器之间具有强依赖性、只能序列生成。这种做法又称串行方法,其代表为 Boosting,而 Boosting 族算法中的代表即是AdaBoost。

Bootstrap理论

bootstrap翻译为自举,简单理解为自采样,通过不断自采样模拟真实随机变量生成的数据集,那么测试样本就丰富起来了,这个和数据加强有一定的异曲同工之妙。

Bagging

Bagging全称为bootstrap aggregating(汇聚),操作过程:使用bootstrap生成M个数据集,使用这些数据集生成M个分类器,最终模型为这M个分类器的简单组合,要么投票表决,要么取平均。
结合 Bagging 的特点、我们可以得出这样一个结论:对于“不稳定”(或说对训练集敏感:若训练样本稍有改变,得到的从样本空间到类别空间的映射 g 就会产生较大的变化)的分类器,Bagging 能够显著地对其进行提升。

随机森林

1、用 Bootstrap 生成出 M 个数据集
2、用这 M 个数据集训练出 M 颗不进行后剪枝决策树,且在每颗决策树的生成过程中,每次对 Node 进行划分时、都从可选特征(比如说有 d 个)中随机挑选出 k 个(k≤d)特征,然后依信息增益的定义从这 k 个特征中选出信息增益最大的特征作为划分标准
3、最终模型即为这 M 个弱分类器的简单组合
一般情况下、推荐取k=log2⁡dk=log_2⁡dk=log2​⁡d

Boosting

Boosting 事实上是一族算法、该族算法有一个类似的框架:

  • 1、根据当前的数据训练出一个弱模型
  • 2、根据该弱模型的表现调整数据的样本权重。具体而言:
         让该弱模型做错的样本在后续训练中获得更多的关注             让该弱模型做对的样本在后续训练中获得较少的关注
  • 3、最后再根据该弱模型的表现决定该弱模型的“话语权”、亦即投票表决时的“可信度”。自然、表现越好就越有话语权。
    在该学习框架下,对于一个学习问题,只要我们找到了一个“弱学习算法”,就可以把它变成一个“强学习算法”。这当然是意义深刻的,因为往往比较粗糙的“弱学习算法”比较好找、而相对精确的“强学习算法”却难得一求。

机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting相关推荐

  1. 集成学习(Ensemble Learning),Bagging、Boosting、Stacking

    1 集成学习概述 1.1 概述 在一些数据挖掘竞赛中,后期我们需要对多个模型进行融合以提高效果时,常常会用Bagging,Boosting,Stacking等这几个框架算法,他们不是一种算法,而是一种 ...

  2. 机器学习-集成学习(ensemble learning)

    集成学习ensemble learning:本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务. 可以用两句话形容: 1."三个臭皮匠顶个诸葛亮":一堆 ...

  3. 集成学习(一)——随机森林以及GBDT

    文章目录 一.bagging 随机森林 二.boosting 1.Adaboost sklearn实现AdaBoost 2.GBDT (1)Regression Decision Tree:回归树 ( ...

  4. 集成学习(ensemble learning)干货系列(3)——Boosting方法详解

    集成学习(ensemble learning)干货系列(1)--集成学习概述 集成学习(ensemble learning)干货系列(2)--随机森林(Bagging) Boosting基本原理 提升 ...

  5. bagging算法_集成学习(Ensemble Learning)——Bagging与Random Forest(1)

    一. 什么是集成学习 集成学习是通过构建并结合多个学习器来完成学习任务的一类算法. 根据个体学习器(基学习器)之间是否存在强依赖关系可将集成学习分为两类: Boosting 个体学习器之间存在强依赖关 ...

  6. 通俗易懂的机器学习——集成学习

    集成学习 普通决策树与随机森林的对比 生成circles数据集 画图函数 使用决策树进行预测 构建决策树并训练 画图 交叉验证 使用Voting Classifier 投票 构建投票分类器 画图 So ...

  7. 【集成学习】:bagging和boosting算法及对比

    参考:bagging和boosting算法(集成学习算法) Bagging算法和Boosting区别和联系 机器学习笔记-集成学习之Bagging,Boosting,随机森林三者特性对比 目录 1. ...

  8. 机器学习——集成学习算法(Adaboost、随机森林)

    集成算法简述 什么是集成学习 如何得到多个个体学习器 集成学习常用算法 Bagging 自助采样 学习器结合 包外估计 随机森林 Adaboost Boosting Adaboost算法原理 注意 什 ...

  9. 机器学习—集成学习(ensemble learning)

    一.集成学习 集成学习是将多个弱机器学习器结合,构建一个有较强性能的机器学习器的方法,也就是通过构建并合并多个学习器来完成学习任务,其中构成集成学习的弱学习器称为基学习器.基估计器. 1.根据集成学习 ...

  10. 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting、模型融合

    基本内容与分类见上述思维导图. 文章目录 一.模型融合方法 . 概述 1.Voting 2.Averaging 3.Bagging 4.Boosting 5. Stacking (1)nfolds 次 ...

最新文章

  1. linux中级篇--网络相关命令
  2. 校园二手交易平台的开发和利用
  3. 【6】nagios从零学习使用 - centreon发送邮件报警
  4. 一个小厂前端 Leader 如何筛选候选人?
  5. CF896E Welcome home,Chtholly/[Ynoi2018]五彩斑斓的世界(并查集+第二分块)
  6. [BBS]搭建开源论坛之Jforum搭配开源CKEDITOR
  7. 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)
  8. IDEA:com.intellij.execution.ExecutionException: not found for the web module.
  9. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - MMX技术(6) - 移位与循环移位指令
  10. 学计算机的心理300字,心理的作文300字7篇
  11. 关于opencv的几个小总结
  12. oracle连接多个扫描
  13. linux内存管理之DMA
  14. oracle top 5 timed events,oracle gcr sleep in the Top Timed Events in report
  15. windows11下安装vivado2019
  16. python创建快捷方式_python创建桌面快捷方式的代码详解
  17. 安卓Android修改车机版系统的导航栏和状态栏高度
  18. 明日之后如何注销一个服务器的账号,明日之后账号怎么注销_明日之后账号注销方法介绍_玩游戏网...
  19. Android Webview使用自定义字体加载网页
  20. 分享一些C++软件开发后台开发复习必备电子书单

热门文章

  1. kali mysql停止服务器_第 2 篇 MySQL 安装
  2. 简述dijkstra算法原理_Dijkstra算法之 Java详解
  3. js调用浏览器的下载框
  4. python编程神器下载_Python编程神器 -程序员必备开发手册
  5. 【SSL】keytool复制证书
  6. 编译 PHP7.0为什么那么慢,CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案...
  7. 2017 php7 使用率,让PHP7达到最高性能的几个Tips
  8. cvs有机添加剂检测_汽车到底有没有必要添加燃油添加剂,如果需要加从什么时间开始用...
  9. php 获取下拉框选中的文本,jQuery如何获取select选择的文本与值?(代码示例)...
  10. influxdb无法实现关联表_双汇:从棘手的InfluxDB+Redis到TDengine