提升方法

强可学习和弱可学习:
统计学习方法——第八章:提升方法
因为在现实生活中,弱分类器是很好找的。所以考虑将多个弱分类器进行提升得到一个强分类器
提升方法即将弱可学习法提升为强可学习法
有两个问题需要回答:
1:如何改变训练数据的权值或概率
方法:提高分类错的权值而减少分类正确的权值
2:如何将弱分类器合成一个强分类器
方法:加大分类误差率小的模型而减少分类误差率大的模型

AdaBoost

统计学习方法——第八章:提升方法统计学习方法——第八章:提升方法
Adaboost算法分为三大步:
第一步:初始化权值
第二步:进行一次更新并更新权值
第三步:对不用模型加权求和后得到最终模型
那我们分别看是如何解决弱到强的两个问题的
第一个问题:在第二步的(d)中,我们可以将上式简化为
统计学习方法——第八章:提升方法
可以看到当分类正确时,权重缩小了因为指数函数的x<0时<1;分类错误时,权值增大。相比较,误分类样本的权值放大e^2am
第二个问题:在第三步解决。这里注意Gi代表不同的模型,G1的xi代表第一个模型对于xi数据训练后得到的值。可以看到因为am是和训练误差em有关,当em<1/2时,em越大am大即分类误差率越小,在所有模型中的权值越大。
统计学习方法——第八章:提升方法
统计学习方法——第八章:提升方法
举个例子:
统计学习方法——第八章:提升方法
统计学习方法——第八章:提升方法
统计学习方法——第八章:提升方法

加法模型

可以认为Adaboost算法是一种前向分布算法
首先介绍什么是前向分布算法:
加法模型可以看到Adaboost符合加法模型的基本特征
统计学习方法——第八章:提升方法
那么对加法模型如何优化呢?
对于损失函数,注意βmγm指的是第m个模型的参数
统计学习方法——第八章:提升方法
加法模型的优化为前向分步优化,即每一次优化只优化一个β γ 即每一次利用所有数据去优化其中一个模型的参数
统计学习方法——第八章:提升方法
这里注意i=1-N表示使用1-N的数据,而β γ是此次优化需要优化的参数
统计学习方法——第八章:提升方法
(a)argmin
argmin f(x)是指使得函数 f(x) 取得其最小值的所有自变量 x 的集合。比如,函数 cos(x) 在 ±π、±3π、±5π、……处取得最小值(-1),则 argmin cos(x) = {±π, ±3π, ±5π, …}。
那么(a)式我理解为,对于βγ取不同的值,依次带入损失函数,取损失函数较小值对应的βγ,至于这些不同的值如何选取就不清楚了
统计学习方法——第八章:提升方法如何理解?
首先注意一点,对于依次min∑,m是不会改变的,改变的是i。
fm-1(xi)指的是前m-1优化后得到的模型或者说前m-1个模型的加权平均,提升模型的基本概念。也可以说是当前的模型
βb(xi:γ)是第m个模型
而fm-1(xi)+βb(xi:γ)就是我们即将计算的新的加权平均模型
统计学习方法——第八章:提升方法
接下来证明Adaboost就是加法模型太长,有兴趣的去翻书吧

提升树算法

基本模型:
统计学习方法——第八章:提升方法
注意到,和前面的加法模型类似。其实就是加法模型的一种,只不过不同算法对应的T(x:θ)是不同的。

统计学习方法——第八章:提升方法
当我们使用平方损失函数时:有上述式子
注意到损失函数可以化成如下形式,则我们可以将拟合y转化为拟合残差。
什么是拟合y,什么是拟合残差?
比如之前学的决策树,对于x=1-N,随机选择x=i将其分为两类。左边的是x=1-i,y=1-i。右边的是x=i+1-n,y=i+1-n。此时如果我们拟合y,用的是平方损失函数,则取Yleft=左边y的平均值,Yright=右边y的平均值,再依次计算左边每一个y与Yleft的差的平方的和,右边是y与Yright,求和就是总的损失函数。
我们将i从1-n,依次计算总的损失函数,最小的i就是我们的分界。
同样的拟合残差,就是对残差取上述操作。

得到提升树算法
统计学习方法——第八章:提升方法

例子

在下述例子中,第一个模型利用拟合y,后面的都是拟合残差因为第一个拟合残差会不准确
统计学习方法——第八章:提升方法
统计学习方法——第八章:提升方法
统计学习方法——第八章:提升方法

梯度提升树

在上述损失函数是平方损失函数的时候,我们可以拟合残差。但是如果是一般的损失函数,拟合残差不方便,所以我们采取更通用的拟合梯度
统计学习方法——第八章:提升方法
统计学习方法——第八章:提升方法
其实就是拟合的东西不一样。当然也注意到f0不再是0,这样我们就可以最开始也拟合梯度而不用第一次拟合y值了。

相关文章: