AdaBoost的前身和今世
强可学习和弱可学习
- 在概率近似正确(PAC)学习框架中, 一个类如果存在:
- 一个多项式复杂度的学习算法,正确率略大于随机猜测(例如二分类问题中大于1/2),称弱可学习的
- 一个多项式复杂度的学习算法,并且正确率很高,称强可学习的
- Kearns和Valiant证明了强可学习和弱可学习是等价的
The Strength of Weak Learnability - Adaboost算法就是将弱学习器组成强学习器的算法
Explaining AdaBoost - 算法受到工业界和学术界的关注,充分的理论研究(统计学习方法证明)
AdaBoost算法是为了证明弱可学习和强可学习算法等价而提出的,随后,人们发现该类集成算法能够有效的提升一个学习器的作用,基于AdaBoost演化出了诸多的算法,例如在各大数据挖掘上大放光彩的XGBoost,几乎霸占了诸多数据竞赛榜单的前几多年(从2017开始),在数据预处理上填充空值常用的随机森林算法等等。
随后,学术界纷纷把关注点投向了这个算法的理论证明。得到了该类算法的统计学派角度的证明,即为AdaBoost是在指数损失函数、模型是加性模型、算法是前向分布算法。进一步的,给出了学习算法的训练误差界,说明了其训练过程中的最坏情况,并且表明其训练误差是以指数级别下降的。在明白了AdaBoost的统计意义后,人们尝试把损失函数换成其他的函数,使得演化为梯度提升算法,把分类器换为决策树,得到提升树算法…提升的思想和其他算法的结合演化了诸多运用性极强的算法。
以AdaBoost演变而来的Boost算法使得单个学习器的泛化指标得到或多或少的改进,在实际运用中,一个数据集合可能有多个合适的算法,但是相比寻找其他算法的合适参数,集成学习方法能够快速、高效的在数据上表现有泛化性能和学习性能,诸多数据分析师尤其是在数据挖掘领域的首选算法也是集成学习方法。