美文网首页
什么是集成学习

什么是集成学习

作者: 一位学有余力的同学 | 来源:发表于2020-07-10 22:00 被阅读0次

1.什么是集成学习

集成学习(ensemble learning)是一类机器学习框架,通过构建并结合多个学习器来完成学习任务。一般结构是:先产生一组“个体学习器”,再用某种策略将它们结合起来。结合策略主要有平均法、投票法和学习法等


在这里插入图片描述

集成学习包含三个典型算法:Bagging、Staking和Boosting

2.Bagging算法

我们从很多的个体学习器中得到了不同效果的分类模型,那么怎么得到最终的模型呢?

  1. 平均
  2. 投票
    a.Majority voting :少数服从多数(随机森林)
    b.Weighted Majority Voting: 带加权的投票法(AdaBoost)(老板投票的权重和员工投票的权重是不一样的)

集成学习的前提是个体学习器得到的结果不能完全相同,这样才有意义,我们可以将每个个体学习器都使用不同的方法,例如SVM, KNN, DT, … 这是可行的,但是通常情况下个体学习器的模型应该相同。那么得到不同的学习结果的方法有:
1. 初始化参数不同
2. 不同的训练集
3. 不同特征集

比如有100个特征,我们只用其中的50个特征进行训练,可能有同学就会问,特征不是越多学习的效果越好吗?但是其实不是这样的,在集成学习中,我们希望个体学习机越弱越好(Weak learners)。越强的学习器,所消耗的资源也越多,也越容易造成过拟合。

为了得到不同的训练模型,但是又得到一个类似的分布。我们可以采用Bootstrap sample的采样方法(有放回的采样)。例如,我们有5个球,5个不同的颜色,每次取一个球,取完了放回去,那么取5次可能得到重复的样本,也有可能有的样本不被抽到,如下图。


在这里插入图片描述

Bagging的集成学习方法非常简单,假设我们有一个数据集D,使用Bootstrap sample的方法取了k个数据子集:D1,D2,…,Dk。我们使用这k个子集分别训练一个分类器,最后会得到k个分类模型。我们将测试数据输入到这k个分类器,会得到k个分类结果,比如分类结果是0和1,那么这k个结果中谁占比最多,那么预测结果就是谁,这就是bagging方法。

3.Stacking算法

Boosting的方法是根据“少数服从”多数来决定的,这里执行的是“一人一票”的方式,但是在公司中,老板的票一般来说要比员工的票有分量,所以可以在投票上乘以一个权重。


在这里插入图片描述

Stacking的算法前面和Bagging算法一样,得到了不同的投票结果:c1, c2, c3,….,我们可以在这些结果上乘上一个权重,再用一个分类器进行训练,得到一个预测结果,第二个分类器可以是神经网络,svm等。

4.Boosting算法

在这里插入图片描述
在这里插入图片描述

Boosting的思想就是针对预测错的样本,再进行训练。但是这样做还不够,我们用C1和C2同时预测D,有的预测为0,有的预测为1怎么办?


在这里插入图片描述
在前面的基础上,我们还进行如下操作:
在这里插入图片描述

Bagging算法可能有几百上千个分类器,而Boosting算法三个就可以了(也可以50个)。在训练样本过程中我们也可以给数据集D中样本被选中的可能性加权,如果总是预测正确,那我就不需要再考虑该样本了,我们应当把重点放在有争议的样本上。

本文原载于我的CSDN

相关文章

  • 集成学习

    问题 1. 什么是集成学习,以及为什么要使用集成学习 2. 集成学习常见思想都有哪些,以及它们都有什么作用 3. ...

  • 什么是集成学习

    1.什么是集成学习 集成学习(ensemble learning)是一类机器学习框架,通过构建并结合多个学习器来完...

  • Adaboost 算法

    本文结构: 什么是集成学习? 为什么集成的效果就会好于单个学习器? 如何生成个体学习器? 什么是 Boosting...

  • 集成学习算法

    什么是集成学习算法?集成学习算法就是将多个弱分类器(回归器)合并,组合成一个新的学习器 2.为什么用集成学习算法?...

  • 集成学习概述

    1. 什么是集成学习 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也...

  • GBDT

    GBDT 是一种 Boosting算法,Boosting是集成算法的一种。 首先我们需要知道什么是集成学习?集成学...

  • 机器学习笔记(14):集成学习

    本文来自之前在Udacity上自学机器学习的系列笔记。这是第14篇,介绍了监督学习中的集成学习。 什么是集成学习如...

  • 西瓜书学习笔记-集成学习

    集成学习 个体与集成 集成学习通过构造多个学习器来完成学习任务。集成学习的构造是先产生一组个体学习器,然后用某种策...

  • Python自带的IDLE是个啥?有什么作用?

    Python中的IDLE是什么?IDLE集成开发和学习环境,是Python的集成开发环境,IDLE是跟Python...

  • Task5 模型集成

    这次主要学习的知识点是:集成学习方法、深度学习中的集成学习和结果后处理思路。 1、集成学习方法 在机器学习中的集成...

网友评论

      本文标题:什么是集成学习

      本文链接:https://www.haomeiwen.com/subject/ayevcktx.html