从零开始理解AdaBoost算法:加法模型与优化方法(三)【理论解析】
在前面我们已经明白了如何进行AdaBoost算法的基本操作,但我们还不清楚这些公式是如何得来的,以及为什么要这样做。接下来,我们将详细讲解这些公式的推导过程及其背后的原因。
AdaBoost算法属于Boosting类型的算法,其基本思路是通过组合多个弱分类器来构建一个强分类器。由于它是一个加法模型,我们可以通过训练来优化模型中的参数。
预测函数——加法模型的定义
在机器学习中,加法模型的预测函数如下所示:
f ( x ) = ∑ m = 1 M β m b ( x ; γ m ) f(x) = \sum_{m = 1}^{M} \beta_m b(x;\gamma_m) f(x)=m=1∑Mβmb(x;γm)
这里:
- β m \beta_m βm 是基函数的系数
- b ( x ; γ m ) b(x;\gamma_m) b(x;γm) 是基分类器
- γ m \gamma_m γm 是基分类器的参数
损失函数
损失函数的选择取决于具体问题:
- 回归问题:均方误差(MSE)
- 分类问题:指数函数或交叉熵损失
优化方法
常用的优化方法是梯度下降,但是对于加法模型,梯度下降并不总是适用。
梯度下降的缺点
目标函数是要极小化损失函数:
min β m , γ m ∑ i = 1 N L ( y i , ∑ m = 1 M β m b ( x i ; γ m ) ) \min_{\beta_m,\gamma_m} \sum_{i = 1}^{N} L(y_i, \sum_{m = 1}^{M} \beta_m b(x_i;\gamma_m)) βm,γmmini=1∑NL(yi,m=1∑