• 什么是Adaboost?
    AdaBoost算法: 通过迭代弱分类器而产生最终的强分类器的算法,可以理解为在弱分类器之上增加了权重配置,使误差率小的分类器拥有更高的权重。


我们已经学习过决策树这种分类器,并且知道可以通过随机森林的方式完成样本加权、分类器加权,从而使得由弱分类器得到强分类器Adaboost就是分类器加权的一种方式,即多个分类器的集成。

提升概念

机器学习 算法基础 六 提升 Adaboost

提升算法

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost

  • 预测值:F(xi)F(x_i),实际值:yiy_i,二者差值就是一个残差
  • 将所有残差累加:
    L(F)=1mi=1m(F(xi)yi)2当L(F)=\frac{1}{m}\sum_{i=1}^m(F(x_i)-y_i)^2
    LF=2m1=im(F(xi)yi)\frac{\partial L}{\partial F}=\frac{2}{m}\sum_{1=i}^m(F(x_i)-y_i)
  • 实际的损失函数不见得是这个,所以称为伪残差

参照牛顿法(梯度下降法)可知,使用一阶导绕不过去的γ\gamma学习率。

1 2 3 t-1
T T1(x)T_1(x) T2(x)T_2(x) T3(x)T_3(x) Tt1(x)T_{t-1}(x)
权值 α1\alpha_1 α2\alpha_2 α3\alpha_3 αt1\alpha_{t-1}

计算第i个样本的预测值yiy_i,输入样本xix_i
xiα1T1(xi)+α2T2(xi)+α3T3(xi)+...+αt1Tt1(xi)=y^ix_i \longrightarrow \alpha_1T_1(x_i)+\alpha_2T_2(x_i)+\alpha_3T_3(x_i)+...+\alpha_{t-1}T_{t-1}(x_i)=\hat{y}_i

样本 预测值
x(1)x^{(1)} y^t1(1)\hat{y}_{t-1}^{(1)}
x(2)x^{(2)} y^t1(2)\hat{y}_{t-1}^{(2)}
x(3)x^{(3)} y^t1(3)\hat{y}_{t-1}^{(3)}
x(m)x^{(m)} y^t1(m)\hat{y}_{t-1}^{(m)}

在已知样本和预测值T(t1),y^(t1)T(t-1),\hat{y}_{(t-1)}的前提下,如何算T(x)αtT(x)和\alpha_t。考虑使用二阶导信息。

机器学习 算法基础 六 提升 Adaboost
Jft=i=1n(gi+hift(xi))+Ωft\frac{\partial J}{\partial f_t}=\sum_{i=1}^n(g_i+h_if_t(x_i))+\frac{\partial \Omega}{\partial f_t}

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

Adaboost

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

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

机器学习 算法基础 六 提升 Adaboost

有了wm+1,iw_{m+1, i},就可以算Gm+1G_{m+1},就可以算wm+2w_{m+2}

机器学习 算法基础 六 提升 Adaboost

举例

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost

Adaboost误差上限

机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost
机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost

AdaBoost总结

机器学习 算法基础 六 提升 Adaboost

机器学习 算法基础 六 提升 Adaboost

相关文章: