Adaboost算法笔记

背后的思想:对于一个复杂的任务,讲多个专家的判定进行适当的综合得出的判断,要比其中任何一个专家单独的判断好。(三个臭皮匠赛过诸葛亮)

再概率近似正确学习的框架中:
  • 强可学习:存在一个多项式的学习算法,并且它的正确率很高
  • 弱可学习:存在一个多项式的学习算法,它的正确率比随机猜想好
  • 强可学习和弱可学习等价

找到弱可学习的方法比较容易,最出名的就是 Adaboost算法。

对于提示算法处理分类问题:

  • 每一轮如何改变数据的权值或者概率分布
  • 如何将弱分类器组合成一个强分类器

Adaboost的套路是:1. 训练的时候提高弱分类器错误分类样本的权值,这样可以更加关注没有正确分类的数据;2. 采取加权多数表决的方法,加大分类错误率小的弱分类器的权值,使其再表决中起较大的作用。

算法流程

Adaboost算法笔记_第1张图片
image.png
Adaboost算法笔记_第2张图片
image.png
Adaboost算法笔记_第3张图片
image.png

AdaBoost 算法的解释:AdaBoost算法的模型是加法模型、损失函数为指数函数、学习算法为前进分步算法时的二类分类学习方法。


提升树算法---以分类树或者回归树为基本分类器的提升方法,其被认为是统计学习中性能最好的方法之一。 [加法模型(基函数的线性组合) + 前向分布算法]

Adaboost算法笔记_第4张图片
image.png

以决策树为基函数的提升方法称为提升树(boosting tree). 对分类问题决策树是二叉树,对于回归问题决策树是二叉回归树。

算法简介

首先确定初始提升书f0(x)=0, 第m步模型为:

image.png
image.png
image.png

梯度提升算法

Freidman提出了梯度提升算法(Gradient Boosting), 其关键是利用损失函数的负梯度再当前模型的值作为回归问题提升树算法中的残差的近似值,拟合一个回归树。

image.png

未完待续...

你可能感兴趣的:(Adaboost算法笔记)