机器学习算法总结7:提升方法

提升(boosting)方法:在分类问题中,通过改变训练样本的权重(概率分布),进而通过不同的训练数据学习多个弱分类器(基本分类器),然后将这些弱分类器线性组合,构成一个强分类器,以提高分类性能。
1.AdaBoost
AdaBoost算法是代表性的提升方法,是二类分类算法。
前提条件:概率近似正确(PAC),即一个概念是强可学习的充分必要条件是这个概念是弱可学习的。所以,可以通过弱分类器构造强分类器。
一个概念(一个类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,称这个概念是强可学习的;一个概念(一个类),如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好。称这个概念是弱可学习的。
现在,对于提升算法需要解决两个问题:一是在每一轮如何改变训练数据的权值或概率分布?;二是如何将弱分类器组合成一个强分类器?
解决方法:
一:提高被前一轮弱分类器错误分类样本的权值,减低被正确分类样本的权值;
二:加权多数表决。具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法
AdaBoost可以解释为:模型是加法模型、损失函数是指示函数、学习算法是前向分布算法时的二类分类学习方法,即AdaBoost算法是前向分布算法的特例。
前向分布算法
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法
2.提升树加粗样式**:以分类树或回归树为基本分类器的提升方法。
对于分类问题决策树是二叉分类树,对于回归问题决策树是二叉回归树。
提升树模型表示为决策树的加法模型:
机器学习算法总结7:提升方法
提升树算法采用前向分布算法,不同的提升树学习算法,主要区别在于使用的损失函数不同,包括用平方误差损失函数的回归问题,用指数损失函数的分类问题以及用一般损失函数的一般决策问题。
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法
在回归问题的提升树中,残差=真实值-预测值,残差的作用是:替换y,生成新数据,以便下一次迭代生成回归树。
梯度提升决策树(Gradient Boosting Decision Tree)算法:即GBDT算法
关键是利用损失函数的负梯度在当前模型的值
机器学习算法总结7:提升方法
作为回归问题提升树算法中残差的近似值,拟合一个回归树。
机器学习算法总结7:提升方法
机器学习算法总结7:提升方法