本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
Adaboost是集成方法boosting中的经典算法之一,
本文介绍Adaboost是什么,以及Adaboost的模型表达式
本节先简单介绍什么是Adaboost算法
什么是Adaboost
Adaboost解决什么问题
Adaboost解决二分类问题,且二分类的标签为{-1,1}
注:一定是{-1,1},不能是{0,1}
Adaboost是什么
Adaboost(Adaptive Boosting)是一种自适应增强算法,
它集成多个弱决策器进行决策,
它的训练过程是通过不断添加新的弱决策器,使损失函数继续下降,
直到添加决策器已无效,最终将所有决策器集成一个整体进行决策
总的来说,Adaboost就是一个增加式的训练算法,它的具体操作如下:
先训练一个弱决策器进行预测,
在单个决策器的预测基础上,添加第二个,让预测更准确,
在两个决策器的集成决策基础上,添加第三个,让预测更准确,
...如此类推,通过不断添加新的决策器,使损失函数持续下降,
直到新增的决策器无法再让损失函数下降,则停止训练
最终将所有决策器集成一个整体进行决策
关于Adaboost的默认决策器
理论上Adaboost适用于多种决策器,
但实际中基本都是以决策树作为决策器,这样的Adaboost也称为提升树
在不特指的情况下,Adaboost一般就是指以决策树为决策器的Adaboost算法
本节介绍Adaboost的模型表达式
Adaboost模型表达式
Adaboost的模型表达式为:
其中,
: 第i决策器
: 决策器的权重系数,为正数
-----------------------------------------------------------
可以看到,Adaboost模型就是一系列决策器的加权和
需要注意的是,每个决策器的输出必须是{-1,1}
模型待解参数
一个Adaboost模型由以下参数决定:
👉1. 各个决策器自身的模型参数
👉2. 各个决策器的权重
Adaboost的模型输出
Adbbost的模型的输出是一个数值(即所有决策器的权重和)
👉 如果模型的输出是负数,判为-1标签
👉 如果模型的输出是正数,判为 1标签
相关文章推荐
1.李航---<学习统计方法>
2. Y. Freund, R. Schapire--《A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting》
3. H. Drucker-《Improving Regressors using Boosting Techniques》
4. J. Zhu, H. Zou, S. Rosset, T. Hastie - 《Multi-class AdaBoost》
5.手把手教你AdaBoost : https://zhuanlan.zhihu.com/p/27126737
6. 数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码) : https://blog.csdn.net/fuqiuai/article/details/79482487
End