本文主要是对adaboost的复习,把adaboost知识结构化,温故而知新~
1、adaboost引出思想
Boosting思想
-
串行,根据上一轮基学习器学习的结果,来优化下一轮学习的样本权重
-
主要思想:上一轮基学习器预测错误的样本,在下一轮学习中增加权重,使得犯错的样本在下一次学习中获得更多的关注,不断提高整体模型的预测能力
2、adaboost预测原理
训练阶段
1、第一轮训练,初始化样本权重为: 1 N \frac{1}{N} N1
2、通过第一轮样本权重,对第一个基学习器进行训练,获得第一个基学习器和第一个基学习器的预测错误率 ϵ t \epsilon_t ϵt
3、通过第一个基学习器的 ϵ t \epsilon_t ϵt,生成尺度因子,根据尺度因子计算下一次训练每个样本的权重
1 − ϵ t ϵ t \sqrt{\frac{1-\epsilon_t}{\epsilon_t}} ϵt1−ϵt
4、针对基学习器预测正确的样本权重,除以尺度因子;
针对基学习器预测错误的样本权重,乘以尺度因子;
5、通过新的权重对一下轮基学习器进行训练
voting阶段
1、每个基学习器的投票权重为:
α = l n 1 − ϵ t ϵ t \alpha = ln\sqrt{\frac{1-\epsilon_t}{\epsilon_t}} α=lnϵt1−ϵt
2、最终结果为:
G ( x ) = s i g n ( ∑ t = 1 T α t g t ( x ) ) G(x) = sign(\sum_{t=1}^T\alpha_tg_t(x)) G(x)=sign(t=1∑Tαtgt(x))