林轩田机器学习技法第七讲-Blending and Bagging

前面我们主要学习了一系列的回归和分类的算法,其中可以使用正则化或是kernel来达到更好的效果,但是在实际的使用中是一个单独的算法

林轩田机器学习技法第七讲-Blending and Bagging_第1张图片
而Aggregation Models,如何将不同的假设和特征结合起来,从而达到更好的效果,这一讲主要是Blending和Bagging,从以下四小部分学习
林轩田机器学习技法第七讲-Blending and Bagging_第2张图片

下面从一个生活中的小例子引入:当我们买股票时,通常不会是随意的选择一支去买,为了得到最大的收益,一般都会去征求一下其他人的意见,假设有T个朋友记为g1……gT,它们分别给出的意见记为gt(x)。那么我们如何来通过这些意见来选到最好的股票呢?
1. 从经常买股票的朋友中选择平时收益最大的一个,听取他的意见,对应于前面讲的Validation的思想
2. 如果每个朋友都很强,那就投票选择票数最多的那一支
3. 如果一些朋友很强经常赚,而另外一些却经常赔,那么我们给那些厉害的朋友多一些票数,不太强的少一些票数,同样采用投票的方式,最后选择票数最多的那一支
4. 如果这些朋友中分别对某些类别的股票有擅长,那么在买不同的股票时,就根据具体的情况给他们不同的票数
当然还有很多其他的方法可供选择……

林轩田机器学习技法第七讲-Blending and Bagging_第3张图片
如果将上面的不同方法公式化,我们可以得到不同的模型表示如下所示
林轩田机器学习技法第七讲-Blending and Bagging_第4张图片

第一种方法公式化后表达式如下所示 ,这里使用的是Eval(gt-),那么能否使用Ein呢?当然是可以的,但是在使用中你往往会只关注得到最小的Ein,而使得模型过于的复杂,计算量将会显著增大,而且可能会出现过拟合现象。所以通常使用Eval来得到Eval最小的模型

在这里插入图片描述
所以在之前的算法中,我们每一次都会选择一个认为是最好的h,但是在aggregation models中,我们可以选择多个可能不是太好的h,然后结合起来得到更好的效果

林轩田机器学习技法第七讲-Blending and Bagging_第5张图片
这是个什么意思呢?比如我们有左下图的数据,有o有×,要求只能使用横平竖直的直线来划分,我们可能会得到颜色较浅的一系列的分割线,但是无论怎么选择效果都不会太好。但如果使用aggregation的思想,选择每条线表现最好的某部分,就可以得到图中黑色的折线,它就可以很好的将数据分开。所以结合不同的假设我们得到了更好的模型G(x),起到了特征转换的效果。

再比如前面的PLA算法中,针对右下图的数据,理论上我们可以得到无数的直线来正确的划分,但是最理想的是图中黑色的直线。那么如果将所有的h结合起来,对不同的线的分类效果做一个组合选择,最后就会得到黑色的线。所以aggregation也起到了正则化的效果,让模型的代表性更强。

在SVM中讲过,特征转换和正则化在使用中起到的是对立的效果,最好的模型是可以对他们最一个很好的权衡,而aggregation起到了这个作用
林轩田机器学习技法第七讲-Blending and Bagging_第6张图片

我们将不同性能的g进行整合来得到最佳效果的模型的过程称之为blending,其中最常用的一种就是uniform blending,即每个g的权重都是1,大家都是平等的,对应的表达式如下所示

在这里插入图片描述
对应的情况有三种:
1. 每个gt都是完全一样的,这和selection的效果是相同的
2. 每个gt有区别,通过投票的方式来均衡效果,得到最好的模型
3. 在多分类问题中,选择投票数最多的那一类
林轩田机器学习技法第七讲-Blending and Bagging_第7张图片

对于回归问题的做法是所有的g求平均值,同样的有两种情况:
1. 如果所有的g都一样的话,和单独的g并没有不同
2. 如果g是不同的,求平均的话就会消除这种偏差的影响,得到更好的效果
林轩田机器学习技法第七讲-Blending and Bagging_第8张图片

回归问题中的uniform blending ,计算gt的平均值可能比单一的gt更稳定、更准确。进行简单的推导和证明,将其转换成关于G和f的关系式
林轩田机器学习技法第七讲-Blending and Bagging_第9张图片

其中的G(t) = avg(gt),则avg(Eout(gt))和Eout(G)相差一个大于零的avg(ε(gt-G)^2),所以gt与f的差值大于G和f的差值,模型效果更好
林轩田机器学习技法第七讲-Blending and Bagging_第10张图片

所以当我们有大小为N的来自不同分布的数据集,经过演算法可以得到不同的gt,在对gt求平均得到G,当做无限多次,即T趋向于∞的时候,有如下红框所示的表达式

林轩田机器学习技法第七讲-Blending and Bagging_第11张图片
当T趋向∞时G = g,所以演算法的平均表现可以被拆成两项:所有的共识和不同之间的差距是多少,即bias和variance。而uniform blending求平均的过程,削减弱化了variance的值,使得模型能得到更加稳定的表现
林轩田机器学习技法第七讲-Blending and Bagging_第12张图片

在uniform blending中每个g的权值都是1,而在linear blending中将权值改为不同的αt≥0,则最后模型的表达式如下所示

林轩田机器学习技法第七讲-Blending and Bagging_第13张图片
可以使用最小化Ein(α)的方式得到最好的αt,比如在linear blending for regression中,相应的minEin(α)的表达式如左下图所示,她很类似于右下图的形式,即前面讲过的结合特征转换的线性回归模型,只不过wi是没有限制的
林轩田机器学习技法第七讲-Blending and Bagging_第14张图片
所以可以将linear blending看成是如下用err表达的形式。那么αt < 0行不行呢?其实αt < 0并不会影响分类效果,只需要将正类看成负类,负类当成正类即可。比如我们说-99%不会发生,也就是说99%会发生

林轩田机器学习技法第七讲-Blending and Bagging_第15张图片
在之前的使用Ein来选择参数的时候,可能会付出如下的代价;那么在这个问题中,如果先使用求最小的Ein得到α,再代入到公式中解min问题可行吗?这样做通常比使用Ein的代价更高
林轩田机器学习技法第七讲-Blending and Bagging_第16张图片

所以blending通常会使用Eval 代替Ein
在这里插入图片描述

除了linear blending之外,还可以使用任意形式的blending。linear blending中,G(t)是g(t)的线性组合;any blending中,G(t)可以是g(t)的任何函数形式(非线性)。这种形式的blending也叫做Stacking。any blending的优点是模型复杂度提高,更容易获得更好的预测模型;缺点是复杂模型也容易带来过拟合的危险。所以,在使用any blending的过程中要时刻注意避免过拟合发生,通过采用regularization的方法,让模型具有更好的泛化能力。
林轩田机器学习技法第七讲-Blending and Bagging_第17张图片
blending的做法是将已经得到的g做一个整合的操作,具体有如下三种。那么如何得到不同的gt呢?可能有如下的几种办法:
1. 选择不同的模型
2. 在梯度下降中设置不同的学习率
3. 由演算法随机选择
4. 由随机的样本产生
林轩田机器学习技法第七讲-Blending and Bagging_第18张图片

在之前讲过每一个演算法的表现可以拆分为期望共识的部分和有差距的部分。当我们只有一份数据集时如何构造不同的数据集,来得到g呢?g-是T->∞时不同的gt的结果的平均值,想要得到g-,要满足两个条件:有限的T和使用现有数据集构造出的新的数据集应该满足某种分布
林轩田机器学习技法第七讲-Blending and Bagging_第19张图片

其中第一个条件好满足,而满足第二个条件的做法就是bootstrapping,它的做法是,假设有N笔资料,先从中选出a个样本,再放回去,再取再放,共重复N/a次,直到取的数据的总量达到N,这样就得到了一个新的数据集,其中中可能包含原D里的重复样本点,也可能没有原D里的某些样本, 与D类似但又不完全相同。利用bootstrap进行aggragation的操作就被称为bagging。
林轩田机器学习技法第七讲-Blending and Bagging_第20张图片

比如在Bagging Pocket算法中,利用bootstrapping得到25个不同的数据集,通过数据集得到g,然后使用Pocket算法迭代1000次,每一个g最后都对应于图中浅色的线。最后使用blending将其结合起来,就是黑色的折线,效果比任意单独一个要好
林轩田机器学习技法第七讲-Blending and Bagging_第21张图片

最后总结一下,这一讲学习了aggregation models,主要是blending和bootstrapping,通过整合很多的g来得到最优的模型;然后还介绍了如何使用bagging来从一个数据集产生多个不同的数据集

林轩田机器学习技法第七讲-Blending and Bagging_第22张图片

你可能感兴趣的:(林轩田机器学习技法课程)