简介:

提升(boosting)方法是一种常见的统计学习方法,应用广泛且有效。在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。

Adaboost算法

基本思路

对于一个复杂的任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好,实际上,就是“三个臭皮匠顶个诸葛亮”的道理。
对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易得多,提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,构成一个强分类器,大多数提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。

难点1,如何在每一轮改变训练数据的权值或概率分布。Adaboost的做法是提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于其权值加大而受到后一轮的弱分类器更大的关注。
难点2,如何将多个弱分类器组合成一个强分类器。Adaboost采取加权多数表决的方法,具体地,加大分类误差率小地弱分类器地权值,使其在表决中起较大作用;减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

Adaboost具体算法如下

图片说明
图片说明
图片说明
图片说明

提升树

提升树是以分类树或回归树为基本分类器的提升方法,提升树被认为是统计学习中性能最好的方法之一。

提升树模型

提升方法实际采用加法模型(即基函数的线性组合)与向前分步算法。以决策树为基函数的提升方法称为提升树。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。提升树模型可以表示为决策树的加法模型:
图片说明

回归问题的提升树算法

图片说明