Adaboost
提升方法的基本思路:
三个臭皮匠顶个诸葛亮。
前向分步算法
adaboost就是基函数为基本分类器的前向分步算法
考虑加法模型
f(x)=\sum\limits_{m=1}^{N}\beta_mb(x;\gamma_m)
b
为基函数,\gamma_m
为基函数参数,\beta_m
为基函数的系数
学习的过程即为最小化损失函数
\mathop{min}\limits_{\beta_m,\gamma_m}\sum\limits_{i=1}^{N} ~L(y_i, \sum\limits_{m=1}^{M}\beta_mb(x_i;\gamma_m))
每一步只需要优化
\mathop{min}\limits_{\beta,\gamma}\sum\limits_{i=1}^{N} ~L(y_i, {\beta}b(x_i;\gamma))
算法步骤
1.初始化f_0(x)=0
2.对m = 1, 2, \cdots, M
极小化损失函数得到参数\beta_m, \gamma_m
\beta_m, \gamma_m = arg \mathop{min}\limits_{\beta,\gamma}\sum\limits_{i=1}^{N}L(y_i, f_{m-1}(x_i) + {\beta}b(x_i;\gamma))
更新
f_m(x) = f_{m-1}(x) + \beta_mb(x;\gamma_m)
3.得到加法模型
f(x)=f_M(x)=\sum\limits_{i=1}^{M}\beta_mb(x;\gamma_m)