AdaBoost

提升方法

提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。

在每一轮如何改变训练数据的权值或概率分布:提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于其权值的加大而受到后一轮的弱分类器的更大关注。

如何将弱分类器组合成一个强分类器:AdaBoost采取加权多数表决的方法.具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

提升树

参考资料:

提升树模型

image-20240312211445348

GBDT的求解过程就是梯度下降在函数空间中的优化过程。

  1. 我们能通过一阶泰勒展开证明负梯度方向是下降最快的方向。对于函数f:

\[f(\theta_{k+1}) \approx f(\theta_{k})+\frac{\partial f(\theta_{k})}{\partial \theta_k}(\theta_{k+1}-\theta_{k}) \]

则优化函数f时:

\[\theta_{k+1} = \theta_{k}-\eta \frac{\partial f(\theta_{k})}{\partial \theta_k} \]

  1. 在GB中,对损失函数展开:

\[L(y,F_m(x)) \approx L(y,F_{m-1}(x)) + \frac{\partial L(y, F_{m-1}(x))}{\partial F_{m-1}(x)} (F_m(x)-F_{m-1}(x)) \]

\[L(y,F_m(x)) \approx L(y,F_{m-1}(x)) + \frac{\partial L(y, F_{m-1}(x))}{\partial F_{m-1}(x)} T_m(x) \]

则在优化 \(L(y,F(x))\) 的时候: ,

\[F_m(x) = F_{m-1}(x)-\eta \frac{\partial L(y, F_{m-1}(x))}{\partial F_{m-1}(x)} \]

即,\(T_m(x)=-\eta \frac{\partial L(y, F_{m-1}(x))}{\partial F_{m-1}(x)}\) 。所以需要当前的弱学习器来学习负梯度,这里和GBDT中差了一个\(\eta\)

  1. 在1和2中都是随机梯度下降,但是不同的是:1在参数空间中优化,每次迭代得到参数的增量,这个增量就是负梯度乘上学习率;2在函数空间中优化,每次得到增量函数,这个函数会去拟合负梯度,在GBDT中就是一个个决策树。要得到最终结果,只需要把初始值或者初始的函数加上每次的增量。所以1的优化过程是(假设迭代了M次):

\[\theta_1 = \theta_0 - \eta \frac{\partial f(\theta_{0})}{\partial \theta_0} \\ \theta_2 = \theta_1 - \eta \frac{\partial f(\theta_{1})}{\partial \theta_1} \\...\\ \theta_M = \theta_{M-1} - \eta \frac{\partial f(\theta_{M-1})}{\partial \theta_{M-1}} \]

等号两边相加,得到最终的优化结果:

\[\theta_M = \theta_0 + \eta \sum_{m=0}^{M-1} -\frac{\partial f(\theta_{m})}{\partial \theta_m} \]

同样的,2中优化的过程是:

\[F_1(x) = F_0(x) - \eta \frac{\partial L(y, F_{0}(x))}{\partial F_{0}(x)},即 T_1(x) = -\eta \frac{\partial L(y, F_{m-1}(x))}{\partial F_{m-1}(x)} \\ ...\\ F_M(x) = F_{M-1}(x) - \eta \frac{\partial L(y, F_{M-1}(x))}{\partial F_{M-1}(x)},即 T_M(x) = -\eta \frac{\partial L(y, F_{M-1}(x))}{\partial F_{M-1}(x)} \]

等号两边相加,得到:

\[F(x)=F_M(x)=F_0(x)+\eta \sum_{m=0}^{M-1} -\frac{\partial L(y, F_{m}(x))}{\partial F_{m}(x)}=\sum_{m=0}^{M}T_m(x) \]

  1. 无论损失函数是什么形式,每个决策树拟合的都是负梯度。准确的说,不是用负梯度代替残差,而是当损失函数是均方损失时,负梯度刚好是残差,残差只是特例。
posted @ 2024-08-27 09:03  Un-Defined  阅读(2)  评论(0编辑  收藏  举报