集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)

在集成算法中主要分为bagging算法(英文翻译是套袋)和boosting算法(英文翻译是提升)
Bagging算法的过程如下:

  1. 从原始样本集中使用Bootstarping方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集(k个训练集之间相互独立,元素可以有重复)。
  2. 对于n个训练集,我们训练k个模型,(这个模型可根据具体的情况而定,可以是决策树,knn)
  3. 对于分类问题:由投票表决产生分类结果;对于回归问题,由k个模型预测结果均值作为最后预测的结果(所有的模型的重要性相同)

Boosting算法的过程如下

  1. 对于训练集中的每个样本建立权值wi,表示对每个样本的权重,其关键在与对于被错误分类的样本权重会在下一轮的分类中获得更大的权重(错误分类的样本的权重增加),这样做的目的就是使得错误分类的样本可以受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到指定的值T,或者集成效果达到退出条件,然后将这些学习器进行加权结合。
  2. 同时加大分类误差概率小的弱分类器的权值,使其在表决中起到更大的作用,减少分类误差率较大的弱分类器的权值,使其在表决中起到较小的作用。每一次迭代都得到一个弱分类器,需要使用某种策略将其组合,作为最终模型,(ababoost给每次迭代之后的弱分类器一个权值,将其线性组合作为最终的分类器,误差小的分类器权重越大)

Bagging和Boosting的主要区别:

  • 样本选择上:Bagging采取Booststraping随机有放回的取样,Boosting的每一轮训练的样本是固定的,改变的是分类器的权重。
  • 样本权重上:Bagging采取的是均匀取样,且每个样本权重相同,Boosting根据错误率调整样本权重,错误率越大的样本权重会越大,错误率小的样本权重会变小,
  • 预测函数上:Bagging中预测函数权重相同,Boosting中误差越小的预测函数其权重越大。
  • 并行计算:Bagging的各个预测函数可以并行生成;Boosting的各个预测函数必须按照顺序迭代生成。

下面给出AdaBoost算法的流程图,一看就懂(哈哈)
集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)_第1张图片
集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)_第2张图片
集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)_第3张图片
一个实例:
集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)_第4张图片
集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)_第5张图片
集成学习基础知识一(Bagging和Boosting的区别以及Boosting(Adaboost)的过程与实例)_第6张图片
AdaBoost算法为加法模型损失函数为指数函数学习算法为前向分布算法的二分类算法。

你可能感兴趣的:(算法,机器学习)