- 什么是Adaboost?
AdaBoost算法: 通过迭代弱分类器而产生最终的强分类器的算法,可以理解为在弱分类器之上增加了权重配置,使误差率小的分类器拥有更高的权重。
我们已经学习过决策树这种分类器,并且知道可以通过随机森林的方式完成样本加权、分类器加权,从而使得由弱分类器得到强分类器。Adaboost就是分类器加权的一种方式,即多个分类器的集成。
提升概念

提升算法





- 预测值:F(xi),实际值:yi,二者差值就是一个残差
- 将所有残差累加:
当L(F)=m1i=1∑m(F(xi)−yi)2
∂F∂L=m21=i∑m(F(xi)−yi)
- 实际的损失函数不见得是这个,所以称为
伪残差
参照牛顿法(梯度下降法)可知,使用一阶导绕不过去的γ学习率。
| 树 |
1 |
2 |
3 |
… |
t-1 |
| T |
T1(x) |
T2(x) |
T3(x) |
… |
Tt−1(x) |
| 权值 |
α1 |
α2 |
α3 |
… |
αt−1 |
计算第i个样本的预测值yi,输入样本xi:
xi⟶α1T1(xi)+α2T2(xi)+α3T3(xi)+...+αt−1Tt−1(xi)=y^i
| 样本 |
预测值 |
| x(1) |
y^t−1(1) |
| x(2) |
y^t−1(2) |
| x(3) |
y^t−1(3) |
| … |
… |
| x(m) |
y^t−1(m) |
在已知样本和预测值T(t−1),y^(t−1)的前提下,如何算T(x)和αt。考虑使用二阶导信息。

∂ft∂J=i=1∑n(gi+hift(xi))+∂ft∂Ω








Adaboost


通常em<0.5,em越小,αm越大。谁的误差率越小,谁的权值就越大。(em=0.5→αm=0)

有了wm+1,i,就可以算Gm+1,就可以算wm+2…

举例












Adaboost误差上限




AdaBoost总结

