【机器学习算法】:Boosting提升算法(Adaboost)

Boosting提升算法

所谓提升算法,即在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类器性能。而AdaBoost是一种典型的提升算法。

由于得到弱学习算法比强嘘唏算法更容易获取。而我们有许多将弱学习算法提升为强学习算法的Boosting方法,其中最具代表性的是AdaBoost。大多数的提升方法都是改变训练的概率分布(训练数据的权值分布),针对不同数据分布调用弱学习算法学习一系列弱分类器。对于提升方法,有两个问题需要解决:

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

AdaBoost基本思路

【机器学习算法】:Boosting提升算法(Adaboost)
【机器学习算法】:Boosting提升算法(Adaboost)

AdaBoost例子

【机器学习算法】:Boosting提升算法(Adaboost)
【机器学习算法】:Boosting提升算法(Adaboost)
【机器学习算法】:Boosting提升算法(Adaboost)