1. 提升方法基本思路
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,比其中任何一个专家单独的判断好.即“三个臭皮匠顶个诸葛亮”.
2. 强学习算法与弱学习算法
强学习算法:在概率近似正确(PAC)学习的框架中,一个概念(一个类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么这个概念是强可学习的.
弱学习算法:在概率近似正确(PAC)学习的框架中,一个概念(一个类),如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,那么就称这个概念是弱可学习的.
后来证明,强可学习与弱可学习是等价的.
3. 提升方法AdaBoost算法
3.1 AdaBoost算法思想
由于强可学习与弱可学习是等价的,那么将弱学习算法提升为强学习算法即可.提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又成基本分类器),然后组合这些弱分类器,构成一个强分类器.大多数的提升方法是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器.
3.1.1 每一轮如何改变训练数据的权值或概率分布?
提高那么被前一轮弱分类器错误分类样本的权值,降低那么被正确分类样本的权值.这样一来,那些没有得到正确分类的数据,由于其权值加大而受到后一轮的弱分类器的更大关注.
3.1.2 如何将弱分类器组合成一个强分类器?
采用加权多数表决的方法.加大分类错误率小的弱分类器的权值,使其在表决中起较大的作用;降低分类错误率大的弱分类器的权值,使其在表决中起较小的作用.
3.2 AdaBoost算法
注: 下面的m为第几次迭代,每一次迭代都生成一个新的基本分类器,i表示训练集中的第几个样本.
注:
- (8.2)中当em≤0.5时,am≥0,并且am随e m的减少而增大,所以分类误差率越小的基本分类器在最终分类器中的作用越大.
2)根据(8.4)
由公式可知,被基本分类器Gm(x)误分类样本的权值得以扩大,而被正确分类样本的权值得以缩小.误分类样本在下一轮学习中起更大的作用. - 根据(8.6),线性组合f(x)实现M个基本分类器的加法表决,系数am表示基本分类器Gm(x)的重要性,这里,所有am和不为1. f(x)的符号决定实例x的类,f(x)的绝对值表示分类的确信度.
3.3 AdaBoost实例
注: 每一次判断误分类点都是通过加权多数表决的方式,判断对某个样本概率较大的G(x)值是1还是-1判断是否分类正确.
4. AdaBoost 算法的训练误差分析
4.1 AdaBoost的训练误差界
结论:可以在每一轮选取适当的Gm使得Zm最小,从而使训练误差下降最快.
证明:
4.2 二类分类问题AdaBoost的训练误差界
注:AdaBoost算法不需要知道下界γ
5. AdaBoost算法的解释
AdaBoost算法的另一个解释为:AdaBoost算法是模型为加法模型,损失函数为指数函数,学习算法为前向分步算法时的二分类学习方法
5.1前向分布算法
核心思想:因为学习的是加法模型,每次只学习一个基函数及其系数,逐步逼近优化目标函数式.
注:类比如下式子的一系列迭代过程比较容易理解:
5.2 前向分布算法与AdaBoost
6. 提升树
6.1 提升树概念
提升树是以分类树或回归树为基本分类器的提升方法,提升树被认为是统计学习中性能最好的方法之一.
6.2 提升树模型
提升方法也是采用加法模型(即基函数的线性组合)与前向分步算法.
以决策树为基函数的提升方法称为提升树;
对分类问题决策树是二叉分类树;
对回归问题决策树是二叉回归树.
提升树模型可以表示为决策树的加法模型:
6.3 提升树算法
注:二类分类问题的提升树算法与前面章节前向分布算法与AdaBoost基本一样.
6.3.1 回归问题的提升树算法
6.3.2 回归问题的提升树算法实例
6.4 梯度提升
6.4.1 提出背景
6.4.2 梯度提升算法