美文网首页我爱编程
集成学习之Bagging

集成学习之Bagging

作者: 海街diary | 来源:发表于2018-05-05 00:49 被阅读36次

    集成学习之Bagging

    Bagging通过并行化的生成若干个基学习器,然后通过投票(分类)或平均(回归)来对这些基学习器进行集成。


    bagging集成(-1,1分类)

    在基学习器独立的条件下,理论上,随着基学习的数目增大,集成后的学习器预测错误的概率呈指数趋势下降。详细的证明见这里

    bagging集成误差随基学习器数量指数衰减

    为了充分利用这个特性,Bagging采取的一个重要的手段就是bootstrap采样,即我们常说的有放回抽样。对于m个样本,进行m次有放回的抽样得到m个样本的新集合,原集合中的样本约有36.8%的概率(比例)不出现在新集合中。每个基学习器利用新集合中的样本进行训练(注:对每个基学习器对会进行一次有放回抽样产生新的样本集合)。


    样本1次也没有抽到概率

    这么做的好处有:

    • 充分利用样本,同时由于样本的多样性,尽可能保证基学习器的多样性(即独立性)
    • 在每次学习中,未被抽中可以用作test data,进行泛化误差的估计,用于防止过拟合(如决策树的限制生长,神经网络的提前结束训练)


      Bagging算法

    总结以上,Bagging具有的特点:

    • 基学习器可并行训练。这样可以利用多核处理器的优势,加快训练速度。
    • 在基学习器多样化(独立)的条件下,集成后的学习器误差随基学习器的数目而指数衰减。

    因此,对于算法研究者而言,要充分利用Bagging思想的优势,就需要尽可能的设计多样化的基学习器。这也就不难理解,在有放回抽样的条件下, unstable learner由于对样本敏感,常常比stable learner效果要好。比如,bagging中常常使用unpruned tree而不是prunded tree.


    Unstable Learner常比Stable Learner效果好

    最后,我自己实现的一个Bagging,代码见这里
    参考书目:

    相关文章

      网友评论

        本文标题:集成学习之Bagging

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