机器学习--集成学习模型

Ensemble learning

  • Bagging : 训练多个分类器取平均
  • Boosting : 从弱学习器开始加强,通过加权来进行训练
  • Stacking : 聚合多个分类或回归模型(可以分阶段来做)

一. Bagging模型

  • 全称:bootstrap aggregation(说白了就是并行训练一堆分类器)
  • 最典型的代表就是随机森林
  • 随机:数据采样随机,特征选择随机
  • 森林:很多个决策树并行放在一起


    机器学习--集成学习模型_第1张图片

    机器学习--集成学习模型_第2张图片

    机器学习--集成学习模型_第3张图片

    机器学习--集成学习模型_第4张图片

    机器学习--集成学习模型_第5张图片

    机器学习--集成学习模型_第6张图片

    机器学习--集成学习模型_第7张图片
    bagging

二. Boosting模型

  • 典型代表:AdaBoost,Xgboost
  • Adaboost会根据前一次的分类效果调整数据权重
  • 解释:如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重
  • 最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体


    机器学习--集成学习模型_第8张图片

    机器学习--集成学习模型_第9张图片
    boosting

三. Stacking模型

  • 堆叠:很暴力,拿来一堆直接上(各种分类器都来了)
  • 可以堆叠各种各样的分类器(KNN,SVM,RF等等)
  • 分阶段:第一阶段得出各自结果,第二阶段再用前一阶段结果训练


    机器学习--集成学习模型_第10张图片

四. 集成学习之结合策略
我们假定我得到的T个弱学习器是{h1,h2,...hT}

  1. 平均法
        对于数值类的回归预测问题,通常使用的结合策略是平均法,也就是说,对于若干个弱学习器的输出进行平均得到最终的预测输出。
    最简单的平均是算术平均,也就是说最终预测是



    如果每个个体学习器有一个权重w,则最终预测是



    其中wi是个体学习器hi的权重,通常有
  2. 投票法
        对于分类问题的预测,我们通常使用的是投票法。假设我们的预测类别是{c1,c2,...cK},对于任意一个预测样本x,我们的T个弱学习器的预测结果分别是(h1(x),h2(x)...hT(x))。

最简单的投票法是相对多数投票法,也就是我们常说的少数服从多数,也就是T个弱学习器的对样本x的预测结果中,数量最多的类别ci为最终的分类类别。如果不止一个类别获得最高票,则随机选择一个做最终类别。

稍微复杂的投票法是绝对多数投票法,也就是我们常说的要票过半数。在相对多数投票法的基础上,不光要求获得最高票,还要求票过半数。否则会拒绝预测。

更加复杂的是加权投票法,和加权平均法一样,每个弱学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。

  1. 学习法
        上两节的方法都是对弱学习器的结果做平均或者投票,相对比较简单,但是可能学习误差较大,于是就有了学习法这种方法,对于学习法,代表方法是stacking,当使用stacking的结合策略时, 我们不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果。

在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。

你可能感兴趣的:(机器学习--集成学习模型)