总结Bootstraping、Bagging和Boosting

Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。

在这之前先了解一下什么是Bootstraping

Bootstraping

中文翻译自助法(Bootstrap Method,Bootstrapping或自助抽样法),自助法是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。

在统计学中,自助法(Bootstrap Method,Bootstrapping或自助抽样法)是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。
摘自 Wikipedia

.632自助法

.632自助法,假设给定的数据集包含d个样本。该数据集有放回地抽样d次,产生d个样本的训练集。这样原数据样本中的某些样本很可能在该样本集中出现多次。没有进入该训练集的样本最终形成检验集(测试集)。 显然每个样本被选中的概率是1/d,因此未被选中的概率就是(1-1/d),这样一个样本在训练集中没出现的概率就是d次都未被选中的概率,即(1-1/d)d。当d趋于无穷大时,这一概率就将趋近于e-1=0.368,所以留在训练集中的样本大概就占原来数据集的63.2%。

Bagging

Bagging即Bootstrap Aggregating的缩写,中文可翻译为自举汇聚法

bagging每次从原始数据集中有放回的随机抽样n个样本形成自助训练集,重复S次后得到S个新的训练集。

对每个自助训练集应用弱分类器,这样就得到了S个弱分类器。

最后将预测数据放在这S个弱分类器上计算,计算结果采用投票方式(分类问题)和简单求平均(回归问题)即可。

Bagging算法之Random Forest

理解了Bagging之后,就容易理解随机森林(Random Forest)了,RF是Bagging算法的改进版本。

随机森林由很多决策树构成(常见的决策树算法有C4.5、ID3和CART),每一棵决策树之间没有关联,RF计算过程中,在每个节点上随机选择一部分样本特征,然后在这些随机选择的样本特征中,选择一个最优的特征来做决策树的左右子树划分。这是一种非常有效的降维方法。


总结Bootstraping、Bagging和Boosting_第1张图片

Boosting

Boosting和Bagging相比,加大了多错误样本的学习。Boosting的训练方式是串行的,这和Bagging并行的方式不同,Boosting在初始化时赋予每个样本的权重都相同为1/m。

第一轮训练完成后,弱分类器对预测错误的样本给了较大的权重,那么在第二轮训练中就会更加重视这些权重大的样本。

这样迭代训练n轮后得到n个弱分类器,最后会给这n个弱分类器分配不同的权重,一般分类误差小的权重越大。

对于最终的结果会根据n个带权重的分类器通过投票法产生。

Boosting的思想更像中学时候的错题集,反复去做错误的题目 =。=

参考文献

[1] 自助法Wikipedia https://zh.wikipedia.org/wiki/%E8%87%AA%E5%8A%A9%E6%B3%95
[2] An Introduction to Boosting and Leveraging http://www.boosting.org/papers/MeiRae03.pdf
[3] Machine Learning in Action [美] Peter Harrington
[4] 总结:Bootstrap(自助法),Bagging,Boosting(提升)https://www.jianshu.com/p/708dff71df3a

你可能感兴趣的:(总结Bootstraping、Bagging和Boosting)