Bagging和Boosting

Bagging:

Bagging基于自助采样法。给定包含m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中。这样,经过m次随机采样操作,我们得到含m个样本的采样集,初始训练集中有的样本再采样集里多次出现,有的则从未出现。

采样出T个含有m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基本学习器进行结合。

Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。 

与标准AdaBoost只适用于二分类任务不同,Bagging能不经修改地用于多分类,回归等任务。

自助采样过程还给Bagging带来了另一个优点:由于每个基学习器只使用了初始训练集约63.2%的样本,剩下约36.8%的样本可用作验证集来对泛化性能进行“包外估计”(out-of-bag estimate)。

Boosting:

训练集中一共有n个点,我们可以为里面的每一个点赋上一个权重Wi(0 <= i < n),表示这个点的重要程度。通过依次训练模型的过程,我们对点的权重进行修正,如果分类正确了,权重降低,如果分类错了,则权重提高。初始的时候,权重都是一样的。越向后训练,模型就越会在意那些容易分错(权重高)的点。当全部的程序执行完后,会得到M个模型,通过加权的方式组合成一个最终的模型YM(x)。

Bagging 和Boosting的对比:

 

1)样本选择上:Bagging采用的是Bootstrap随机有放回抽样;而Boosting每一轮的训练集是不变的,改变的只是每一个样本的权重。

2)样本权重:Bagging使用的是均匀取样,每个样本权重相等;Boosting根据错误率调整样本权重,错误率越大的样本权重越大。

3)预测函数:Bagging所有的预测函数的权重相等;Boosting中误差越小的预测函数其权重越大。

4)并行计算:Bagging各个预测函数可以并行生成;Boosting个体学习器间存在强依赖关系,各个预测函数必须按顺序迭代生成。

你可能感兴趣的:(数据挖掘,机器学习)