集成学习算法总结

集成学习算法

使用多个分类器提高整体的泛化能力

1.Bagging(Bootstrap Aggregating)算法

通过组合随机生成的训练集而改进分类的集成算法(bootstrap)

使用训练集中的某个子集作为当前训练集(有放回随机抽样);经过T次训练后,得到T个不同的分类器

调用这T个分类器,把这T个分类结果中出现次数多的类赋予测试样例

有效减少噪声影响

2.Boosting算法

初始化样本权重,生成一个弱分类器;

利用弱分类器增加分类错误的样本的权重;

不断重复,生成T个弱分类器;

对噪声敏感

改进算法-AdaBoosting算法

  • 对每一次的训练数据样本赋予一个权重,并且每一次样本的权重分布依赖上一次的分类结果
  • 基分类器之间采用序列的线性加权方式来组合

3.Gradient Boosting

1,初始化

2.1计算负梯度

2.2用基学习器$h_m(x)$ 拟合$\widetilde y_i$

2.3确定步长$\rho_m$

2.4更新$f_m(x)$ 最终得到$f_M(x)$

Bagging + 决策树 = 随机森林

AdaBoost + 决策树 = 提升树

Gradient Boosting + 决策树 = GBDT