集成学习bagging和boosting

目录

  • bagging和boosting
    • bagging
    • Boosting
    • 二者的区别

bagging和boosting

在集成学习中,是由多个弱学习器的集成结合强学习器,有两种方法实现。

bagging

1.思想简述
对某一数据集,通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,然后我们可以分别独立的训练出T个弱学习器,然后我们再对这T个弱学习器结合成为强学习器。

要注意的是,每次进行随机采集数据的时候,是有放回的采集T次,最终得到的T个不同的样本集。

2.代表模型原理
A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取T个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到T个训练集。(T个训练集之间是相互独立的)

B)每次使用一个训练集得到一个模型,T个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

C)对分类问题:将上步得到的T个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

随机森林就是Bagging的一个常见实现方案
不过在随机森林中有两个特殊的地方:

  • 1.随机森林的弱学习器都是决策树
  • 2.随机森林是在Bagging的样本随机采样基础上,又加上了特征的随机选择

Boosting

其主要思想是将弱分类器组装成一个强分类器。
Boosting是基于权重的弱学习器的结合,采用迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不断进行,误差会越来越小,越来越接近真实值。

像是采用串联的方法,首先从训练集用初始的权重训练出一个弱学习器1,然后在弱学习器1的基础上根据权重再去寻找一个弱学习器2,以此类推,直到T个弱学习器可以集合策略进行整合成为一个强学习器。最终的预测函数对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。

二者的区别

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

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