机器学习算法之--提升方法(boosting)总结
一、提升方法基本思路
提升方法是一种常用的统计学习方法,应用广泛且有效。在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。提升方法需要回答两个问题
- 一是在每一轮如何改变训练数据的权值或概率分布
- 二是如何将弱分类器组合成一个强分类器。
关于第一个问题,AdaBoost的做法是,提高那些被前几轮弱分类器线性组成的分类器错误分类的的样本的权值。这样一来,那些没有得到正确分类的数据,由于权值加大而受到后一轮的弱分类器的更大关注。于是,分类问题被一系列的弱分类器”分而治之”。
关于第二个问题,AdaBoost采取加权多数表决的方法。具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。
二、Adaboost算法
算法分析两个思路:
- 训练过程中,每个分类器的权值会随着误差率的变小而变大,最终误差率最小的分类器在最终的分类器中所占比重比较大
- 训练过程中,会不断更新样本权值,被误分类的样本权值会变大,使得训练数据在学习中起不同的作用
算法解释
Adaboost为加法模型,损失函数为指数函数,学习算法为前向分布算法的二分类学习方法。
三、前向分布算法
如果学习的是加法模型,那如果能够从前向后,每一步只学习一个基函数及其系数,然后逐步逼近优化目标,那么就可以简化优化的复杂度, 这样,前向分布算法将同时求解从m=1到M的所有参数, 的优化问题简化为逐次求解各个, 的优化问题
四、提升树算法
提升树是以分类树或回归树为基本分类器的提升方法