甲乙小朋友的房子

甲乙小朋友很笨,但甲乙小朋友不会放弃

0%

机器学习算法-boosting和bagging

这位前辈写的很好。今天也没有时间看视频。看看他的博客也就足够了。混合和装袋

bagging

bagging——基于数据随机重抽样的分类器构建方法。

boosting

新的分类器根据已训练出的分类器的性能来进行训练; 分类结果基于所有分类器的加权求和得到。

bagging和boosting区别

Bagging 是 Bootstrap Aggregating 的简称,意思就是再取样 (Bootstrap) 然后在每个样本上训练出来的模型取平均。各模型分布近似相同,但不独立。

  1. 从偏差角度看。由于$Bais = $ ,所以 Bagging后的偏差与单个模型相近。
  2. 从方差角度看。如果各模型独立,整体方差 =$ Var(E[X_i]) =​$ (这是方差的性质);如果各模型完全一样,则\(Var(E[X_i]) = Var(Xi)​\)。那么因此Bagging可以减少方差。

而随机森林通过随机选取特征子集做拟合的方式修正了各子树,因此随机森林中基学习器的多样性不仅来自于样本扰动,还来自于特征扰动。使得方差进一步降低,提高了泛化能力。

Boosting 则是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不断进行,误差会越来越小,所以模型的 bias 会不断降低。而这种sequential、adaptive的策略导致各子模型之前强相关,也就是以上分析中,如果各模型完全一样,那么方差就不会有很大的降低。这种算法无法并行,例子比如 Adaptive Boosting.

参考文献

  1. Bias/Variance Tradeoff