集成学习算法

Ensemble learning algorithm

目的:让机器学习的效果更好,单个的分类器如果表现的好,那么能不能通过使用多个分类器使得分类效果更好呢?或者如果单个分类器分类效果不如人意,那么是否能够通过使用多个分类器来进一步提升分类效果呢?

通过集成学习可以提高整体的泛化能力,但是这种提高是有前提条件的。

通过集成学习提高整体泛化能力的前提条件:

  • 分类器之间是有差异的
  • 每个分类器的精度必须大于0.5

如果使用的分类器没有差异,那么集成起来的分类是没有变化的。如果分类器的精度P&lt;0.5P&lt;0.5P<0.5,随着集成规模的增加,分类的精度将不断下降,如果分类器的精度P&gt;0.5P&gt;0.5P>0.5,那么最终分类的精度可以趋近于1。

集成学习的基本思想

集成学习是在对数据进行分类的时候,把单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来得到最终的分类,从而提升分类效果。就像高考阅卷一样,单个分类器就相当于同一份卷子只给一个老师阅卷,最终结果就只由这一个老师来决定。而集成学习的方法就相当于同一份卷子给至少两个老师阅,最后通过"某种组合",比如:将老师的批阅成绩取均值或者其他方法。

如何得到多个独立的分类器

当然可以用不同的机器学习算法训练模型,比如决策树、KNN、逻辑回归、线性回归、贝叶斯等,但是这些分类器都不是独立的,他们会犯相同的错误因为许多分类器是线性模型,他们最终的投票结果并不会改进模型的预测结果。既然这些不同算法得到的分类器都不是独立的,那么可以通过将数据分成几部分,每个部分训练一个模型,最后将模型的结果进行整合。这样做的优点是不容易出现过拟合,缺点是数据量不足可能导致训练出来的模型泛化能力差。最常用的集成学习算法就是bagging算法和boosting算法,这两个算法可以得到独立的分类器。还有stacking算法可以聚合多个分类或回归模型可以分阶段来操作。

集成学习算法的思想、通过集成学习提高整体泛化能力的前提条件、如何得到独立的分类器Bagging、Boosting、Stacking算法相关推荐

  1. 集成学习bagging, boosting, stacking

    集成学习能够通过训练数据集产生多个学习模型,然后通过一定的结合策略生成强学习模型. bagging 可以并行执行 每一棵树权重是一样的 随机森林 Bagging是bootstrap aggregati ...

  2. 集成学习(bagging/boosting/stacking)BERT,Adaboost

    文章目录 集成学习(ensemble learning) 1.bagging(装袋法) 2.boosting(提升法) 3.stacking(堆叠法) 集成学习(ensemble learning) ...

  3. 机器学习模型的集成方法总结:Bagging, Boosting, Stacking, Voting, Blending

    机器学习是人工智能的一个分支领域,致力于构建自动学习和自适应的系统,它利用统计模型来可视化.分析和预测数据.一个通用的机器学习模型包括一个数据集(用于训练模型)和一个算法(从数据学习).但是有些模型的 ...

  4. 【深度学习】常见的提高模型泛化能力的方法

    前言 模型的泛化能力是其是否能良好地应用的标准,因此如何通过有限的数据训练泛化能力更好的模型也是深度学习研究的重要问题.仅在数据集上高度拟合而无法对之外的数据进行正确的预测显然是不行的.本文将不断总结 ...

  5. 机器学习--集成学习--Bagging,Boosting,Stacking

    在一些数据挖掘竞赛中,后期我们需要对多个模型进行融合以提高效果时,常常会用到Bagging,Boosting,Stacking等这几个框架算法.下面就来分别详细讲述这三个框架算法.这里我们只做原理上的 ...

  6. 持续集成(一)思想篇

     定义 持续集成(ContinuousIntegration,简称CI),又被称为持续构建(ContinuousBuild),最初是以一种研发管理的思想被提出来.1996年,持续集成的思想首先在Ken ...

  7. 如何提高强化学习算法模型的泛化能力?

    深度强化学习实验室 官网:http://www.neurondance.com/ 来源:https://zhuanlan.zhihu.com/p/328287119 作者:网易伏羲实验室 编辑:Dee ...

  8. 卷积神经网络学习路线(五)| 卷积神经网络参数设置,提高泛化能力?

    前言 这是卷积神经网络学习路线的第五篇文章,主要为大家介绍一下卷积神经网络的参数设置,调参技巧以及被广泛应用在了哪些领域,希望可以帮助到大家. 卷积神经网络的参数设置 这个举个例子来说是最好的,因为直 ...

  9. 一文浅谈深度学习泛化能力

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一.DNN泛化能力的问题 论文主要探讨的是, 为什么过参数的神经网 ...

最新文章

  1. linux xxd查看二进制文件命令
  2. AI让硬件说话,这就是未来物联网
  3. JavaScript值得注意的小知识点
  4. 使用JustDecompile修改程序集
  5. python画折线图代码-python画折线示意图实例代码
  6. 控制文字长度,多出的文字用省略号代替
  7. js中如何通过身份证号计算出生日期和年龄
  8. 中国膏剂(膏方)行业运营模式及十四五前景预测报告2022年版
  9. make时候说找不到makefile_找不到答案的时候,就去看一看这个世界
  10. MTK Code Sync Clone
  11. CodeForces - 1270D Strange Device(思维+构造)
  12. VS2015 中使用 MVC4
  13. nginx 配置多个域名 指向不同服务_Nginx的几个常用配置和技巧
  14. 编程语言对比 容器
  15. 看了部电影——青春期
  16. Java实现猜拳小游戏
  17. 天气预报API接口大全
  18. 获取指定日期所在月的最后一个工作日
  19. python教程10-列表的基本使用、列表增加元素、列表的改查删、列表遍历
  20. wince下更新NK软件(wince ghost V1)成功了

热门文章

  1. Apollo简单介绍
  2. 字符数组与字符串处理函数
  3. VS2012 处理器架构“x86”不匹配 通过配置管理器更改您的项目的目标处理器架构...
  4. Ubuntu无法上网问题解决
  5. 判断三角形是何种三角形的测试用例
  6. 【C++】register 关键字
  7. Linux 交换分区
  8. class java.util.LinkedHashMap cannot be cast to xxxx.xxx.xxxx
  9. 南京广义软件:Android lunch分析以及产品分支构建
  10. 什么是内存泄露?遇到内存泄露该怎么解决?