监督学习五 集成学习

来源:互联网 发布:神代利世cos淘宝 编辑:程序博客网 时间:2024/06/04 20:04

1、集成学习(Ensemble Learning)

     (这段内容摘自百度百科)

     ※定义:集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。

     ※思路:在对新的实例进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能。如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。


2、弱学习(weak learner)与强学习(strong learner)

      弱学习:识别错误率小于1/2,也即准确率仅比随机猜测略高的学习;
      强学习:识别准确率很高并能在多项式时间内完成的学习。


3、Bagging算法

      ※定义(摘自百度百科):bagging是一种用来提高学习算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将它们组合成一个预测函数。Bagging要求“不稳定”(不稳定是指数据集的小的变动能够使得分类结果的显著的变动)的分类方法。比如:决策树,神经网络算法。

      ※概念图:具有并行拟合的功能。


        ※算法描述:

            输入为样本集D={(x,y1),(x2,y2),...(xm,ym)},弱学习器算法, 弱分类器迭代次数T。
   输出为最终的强分类器f(x)。
    1)对于t=1,2...,T:
      a)对训练集进行第t次随机采样,共采集m次,得到包含m个样本的采样集Dm
      b)用采样集Dm训练第m个弱学习器Gm(x)
    2) 如果是分类算法预测,则T个弱学习器投出最多票数的类别或者类别之一为最终类别。

                     如果是回归算法,T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。


4、Boosting算法

      ※定义(摘自百度百科):Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数。Boosting是一种提高任意给定学习算法准确度的方法。它的思想起源于 Valiant提出的 PAC ( Probably Approxi mately Correct)学习模型。

      ※概念图:

     

      ※算法描述:



5、bagging与boosting之间的区别

     主要区别点是bagging算法是均匀随机取样;boosting算法根据错误率来取样。

     bagging算法:训练集随机均匀取样,分类器相对独立,可进行并行操作,类似耗时比较长的分类器训练算法(如神经网络)可以很大地节约时间开销。

     boosting算法:大部分情况下分类精度优于bagging算法,有权重计算,分类器是迭代生成,更关注上一轮的错分元组,只能顺序生成。


6、总结

(1)集成学习概念;

(2)Bagging等简单的集成学习算法;

(3)简单的例子整合成复杂的例子;

(4)Boosting算法;

(5)弱学习器;

(6)误差的意义以及潜在分布的概念。

原创粉丝点击