支持向量机SVM(下)-大数据文档资料_第1页
支持向量机SVM(下)-大数据文档资料_第2页
支持向量机SVM(下)-大数据文档资料_第3页
支持向量机SVM(下)-大数据文档资料_第4页
支持向量机SVM(下)-大数据文档资料_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

支持向量机SVM(下)

JerryLead

csxuliiie@gmai.com

2011年3月17日星期四

7核函数(Kernels)

考虑我们最初在“线性回归”中提出的问题,特征是房子的面积X,这里的X是实数,

结果y是房子的价格。假设我们从样本点的分布中看到X和y符合3次曲线,那么我们希望

使用x的三次多项式来逼近这些样本点。那么首先需要将特征x扩展到三维(x,x,x3),然后

寻找特征和结果之间的模型。我们将这种特征变换称作特征映射(featuremapping)o映射

函数称作巾,在这个例子中

x

巾(X)=X2

lx3

我们希望将得到的特征映射后的特征应用于SVM分类,而不是最初的特征。这样,我

们需要将前面Mx+b公式中的内积从VX(i),X>,映射到V(p(x(i)),(p(x)

至于为什么需要映射后的特征而不是最初的特征来参与计算,上面提到的(为了更好地

拟合)是其中一个原因,另外的一个重要原因是样例可能存在线性不可分的情况,而将特征

映射到高维空间后,往往就可分了。(在《数据挖掘导论》Pang-NingTan等人著的《支持向

量机》那一章有个很好的例子说明)

将核函数形式化定义,如果原始特征内积是vx,z>,映射后为<(p(x),(p(z)>,那么

定义核函数(Kernel)为

K(x,z)=(p(x)T(p(z)

到这里,我们可以得出结论,如果要实现该节开头的效果,只需先计算夕(x),然后计

算叩(x)T(p(z)即可,然而这种计算方式是非常低效的。比如最初的特征是n维的,我们将其

映射到小维,然后再计算,这样需要0(")的时间。那么我们能不能想办法减少计算时间呢?

先看一个例子,假设x和z都是n维的,

K(x,z)=(xTz)2

展开后,得

n.

=WW'i”产臼

K(x,z)=(xTz)2

i=lj=l

Xj)(ZtZj)

i=lj=l

这个时候发现我们可以只计算原始特征x和z内积的平方(时间复杂度是O(n)),就等

价与计算映射后特征的内积。也就是说我们不需要花0(M)时间了。

现在看一下映射函数(n=3时),根据上面的公式,得到

叫叫

叫功

叫叫

砂门

二gj:2

33

工“2

雪313

也就是说核函数k(X,Z)=(xTz)2只能在选择这样的(J)作为映射函数时才能够等价于映

射后特征的内积。

再看一个核函数

K(N,Z)=(Jz+c)2

nn

=£(gg)(石与)++c2.

ij=lt=l

对应的映射函数(n=3时)是

叫叫

gg

W3

政叫

工2二2

N26

0(工)二的叫

"2

13的

\/2CT\

\Z5ZZ2

\/2€2:3

C

Td

更一般地,核函数k(x,z)=(xz+c)d对应的映射后特征维度为d+)o(这个我一直

没有螂)O

由于计算的是内积,我们可以想到IR中的余弦相似度,如果X和Z向量夹角越小,那

么核函数值越大,反之,越小。因此,核函数值是(p(x)和(p(z)的相似度。

再看另外一个核函数

厂/、(II…吟

A(Z,Z)=expl----彳一).

这时,如果X和Z很相近(取一ZDaO),那么核函数值为1,如果X和Z相差很大

(Iix-zn>0),那么核函数值约等于Oo由于这个函数类似于高斯分布,因此称为高斯核

函数,也叫做径向基函数(RadialBasisFunction简称RBF)。它能够把原始特征映射到无穷维。

既然高斯核函数能够比较x和z的相似度,并映射到。到1,回想logistic回归,sigmoid

函数可以,因此还有sigmoid核函数等等。

b,新来样本x的话,我们使用WTx+b来判断,如果值大于等于1,那么是正类,小于等

于是负类。在两者之间,认为无法确定。如果使用了核函数后,WTx+b就变成了

WT(p(x)+b,是否先要找到(p(x),然后再预测?答案肯定不是了,找(p(x)很麻烦,回想我

们之前说过的

r

wxba1y⑴n⑴x+b

m

⑴㈤+6.

i=l

只需将<X(D,X>替换成k(X(D,X),然后值的判断同上。

8核函数有效性判定

问题:给定一个函数K,我们能否使用K来替代计算(p(X)T(p(z),也就说,是否能够找

出一个(P,使得对于所有的X和Z,都有k(x,z)=(p(x)T(p(z)?

比如给出了k(x,z)=(xTz)2,是否能够认为K是一个有效的核函数。

下面来解决这个问题,给定m个训练样本{X⑴,X(2),…,x(m)},每一个X。)对应一个特征

向量。那么,我们可以将任意两个X。)和X。)带入K中,计算得到与二k(X(i),X。))。I可以

从1到m,j可以从1到m,这样可以计算出m*m的核函数矩阵(KernelMatrix)。为了方

便,我们将核函数矩阵和k(X,Z)都使用K来表示。

如果假设K是有效的核函数,那么根据核函数定义

..TT,

kjj=k(x"),x⑴)=<p(x。))<p(x(D)=(p(x⑴)(p(x⑴)=k(x"),x⑴)=k)(

可见,矩阵K应该是个对称阵。让我们得出一个更强的结论,首先使用符号(Pk(x)来表

示映射函数(p(x)的第k维属性值。那么对于任意向量z,得

z1Kz=£ZiKijZj

ij

=E£々0(c⑴)T0(即)Zj

<j

=££石£0式工⑴MM工⑴)Zj

ijk

=£££访。有

kij

=£(£々以(叫)

>0.

最后一步和前面计算k(X,Z)=(xTz)2时类似。从这个公式我们可以看出,如果K是个

有效的核函数(即k(x,z)和年(x)T(p(z)等价),那么,在训练集上得到的核函数矩阵K应该

是半正定的(KZ0)

这样我们得到一个核函数的必要条件:

K是有效的核函数==>核函数矩阵K是对称半正定的。

可幸的是,这个条件也是充分的,由Mercer定理来表达。

Mercer定理:

如果函数K是脓"X脓"t脓上的映射(也就是从两个n维向量映射到实数域)。那么如果K

是一个有效核函数(也称为Mercer核函数),那么当且仅当对于训练样例*x⑴,x⑵,…,x®)+,

其相应的核函数矩阵是对称半正定的。

Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找年,而只需要在训练

集上求出各个%,然后判断矩阵K是否是半正定(使用左上角主子式大于等于零等方法)

即可。

许多其他的教科书在Mercer定理证明过程中使用了I?范数和再生希尔伯特空间等概念,

但在特征是n维的情况下,这里给出的证明是等价的。

核函数不仅仅用在SVM上,但凡在一个模型后算法中出现了vx,z>,我们都可以常使

用k(x,z)去替换,这可能能够很好地改善我们的算法。

9规则化和不可分情况处理(Regularizationandthenon-separablecase)

我们之前讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可

以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能

100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能

够尽可能地找出分隔超平面。

看下面两张图:

可以看到一个离群点(可能是噪声)可以造成超平而的移动,间隔缩小,可见以前的模

型对噪声非常敏感。再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了。

这时候我们应该允许一些点游离并在在模型中违背限制条件(函数间隔大于1)O我们

设计得到新的模型如下(也称软间隔):

1二

min7Mb引一『+\£』

i=l

s.t.y⑴(W“4-6)>1—i=1,...,7n

>0,i—1,...,m.

引入非负参数自后(称为松弛变量),就允许某些样本点的函数间隔小于1,即在最大间

隔区间里面,或者函数间隔是负数,即样本点在对方的区域中。而放松限制条件后,我们需

要重新调整目标函数,以对离群点进行处罚,目标函数后面加上的灯就表示离群点越

多,目标函数值越大,而我们要求的是尽可能小的目标函数值。这里的c是离群点的权重,

c越大表明离群点对目标函数影响越大,也就是越不希望看到离群点。我们看到,目标函数

控制了离群点的数目和程度,使大部分样本点仍然遵守限制条件。

模型修改后,拉格朗m公式也要修改如下:

mmm

£(叫6.3a,r)=w+C£&-£q~⑴(/秒+b)—1+&]—£r&.

f=li=l«=1

这里的四和y都是拉格朗日乘子,回想我们在拉格朗日对偶中提到的求法,先写出拉格

朗日公式(如上),然后将其看作是变量w和b的函数,分别对其求偏导,得到w和b的表

达式。然后代入公式中,求带入后公式的极大值。整个推导过程类似以前的模型,这里只写

出最后结果如下:

m1小

彳一可£y⑴严⑴好⑺)

maxQW(a)=£。

i=l2U=1

S.t.0<Qj<C.ii=1,...,m

m

=0,

t=i

此时,我们发现没有了参数与之前模型唯一不同在于g又多了四&c的限制条件。

需要提醒的是,b的求值公式也发生了改变,改变结果在SMO算法里面介绍。先看看KKT

条件的变化:

a,=0=>g⑴b)(14)

a,=Cn/)(//)+6)<1(15)

0<Qj<C=>y⑴(/T⑴+b)=L(16)

第一个式子表明在两条间隔线外的样本点前面的系数为0,离群样本点前面的系数为C,

而支持向量(也就是在超平面两边的最大间隔线上)的洋本点前面系数在。C)上。通过KKT

条件可知,某些在最大间隔线上的样本点也不是支持向量,相反也可能是离群点。

10坐标上升法(Coordinateascent)

在最后讨论W(a)的求解之前,我们先看看坐标上升法的基本原理。假设要求解下面的

优化问题:

maxII(ai,ao,・••,所》).

a

这里W是a向量的函数。之前我们在回归中提到过两种求最优解的方法,种是梯度下

降法,另外一种是牛顿法。现在我们再讲一种方法称为坐标上升法(求解最小值问题时,称

作坐标下降法,原理一样)。

方法过程:

Loopuntilconvergence:{

Fori=1,...,m,{

Qf・=o>rgm8>XGjII(a],・・・,a”],Q'G,a计1,•••,am)・

}

)

最里面语句的意思是固定除s之外的所有(XjO工i),这时W可看作只是关于6的函数,

那么直接对5求导优化即可。这里我们进行最大化求导的顺序i是从1到m,可以通过更改

优化顺序来使W能够更快地增加并收敛。如果W在内循环中能够很快地达到最优,那么坐

标上升法会是一个很高效的求极值方法。

下面通过一张图来展示:

椭圆代表了二次函数的各个等高线,变量数为2,起始坐标是(2,-2)。图中的直线式迭代

优化的路径,可以看到每•步都会向最优值前进一步,而且前进路线是平行于坐标轴的,因

为每一步只优化一个变量。

11SMO优化算法(Sequentialminimaloptimization)

SMO算法由MicrosoftResearch的JohnC.Platt在1998年提出,并成为最快的二次规划

优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO最好的资料就是他本人写

的^SequentialMinimalOptimizationAFastAlgorithmforTrainingSupportVectorMachines》了。

我拜读了一下,下面先说讲义上对此方法的总结。

首先回到我们前面一直悬而未解的问题,对偶函数最后的优化问题:

m1m

max。W(a)=£Q

i=l4=1

s.t.0<ctj<C,ii=1,...,m

m

£a,“。=0,

i=l

要解决的是在参数…,%+上求最大值W的问题,至于x⑴和y(D都是已知数。C

由我们预先设定,也是己知数。

按照坐标上升的思路,我们首先固定除%以外的所有参数,然后在eq上求极值。等一

下,这个思路有问题,因为如果固定由以外的所有参数,那么叫将不再是变量(可以由其

他值推出),因为问题中规定了

m

的严=一

1=2

因此,我们需要一次选取两个参数做优化,比如和。2,此时可以由和其他参数

表示出来。这样回带到W中,W就只是关于7的函数了,可解。

这样,SMO的主要步骤如下:

Repeattillconvergence

1.Selectsomepaira,andajtoupdatenext(usingaheuristicthat

triestopickthetwothatwillallowustomakethebiggestprogress

towardstheglobalmaximum).

2.ReoptimizeIV(Q)withrespecttoQ,andaj,wliileholdingallthe

otherQjts(k*z.J)fixed.

)

意思是,第一步选取一对a和5,选取方法使用启发式方法(后面讲)。第二步,固定

除a和3之外的其他参数,确定w极值条件下的缶,5由a表示。

SMO之所以高效就是因为在固定其他参数后,对一个参数优化过程很高效。

下面讨论具体方法:

假设我们选取了初始值91,。2,…,aQ满足了问题中的约束条件。接下来,我们固定

{a3,04,...,an},这样w就是的和笑的函数。并且6和a2满足条件:

m

6严+。2严=-工。心.

i=3

由于{03,04,…,C(n}都是已知固定值,因此为了方面,可将等式右边标记成实数值乙

aiy⑴+a2yQ)=

当y(D和y(2)异号时,也就是一个为1,一个为时,他们可以表示成一条直线,斜率为

1。如下图:

横轴是C(1,纵轴是C(2,为和火既要在矩形方框内,也要在直线上,因此

L=max(0,一㈤,H=min(C,C+«2—aj

同理,当y⑴和y⑵同号时;

L=max(0,为+的—C),H=min(C,为+㈤

然后我们打算将由用。2表示:

m=(C—。2y⑵)y⑴.

然后反代入w中,得

田(。1,。2,…,am)=W((C-a2y⑵)严,。2,・・・,am)-

展开后W可以表示成aa22+ba2+c。其中a,b,c是固定值。这样,通过对W进行求导

可以得到。2,然而要保证满足L<a2<H,我们使用aznew.undipped表示求导求出来的。2,

然而最后的支2,要根据下面情况得到:

fHif>H

QUIT_J^ncw,undippedj£/<undipped<口

"ILif^^ndipped<L-

这样得到。2.卬后,我们可以得到小的新值ajew。

下面进入Platt的文章,来找到启发式搜索的方法和求b值的公式。

这篇文章使用的符号表示有点不太一样,不过实质是一样的,先来熟悉一下文章中符号

的表示。

文章中定义特征到结果的输出函数为

u=wx—b,(1)

与我们之前的MX。)+b实质是一致的。

原始的优化问题为:

wj|2subjecttoy(诂•无一6)>1,V/,(3)

求导得到:

N

京=£%a鬲,b=wxk-ykforsomeak>0.(7)

经过对偶后为:

NNN

min甲⑻=mini££电;(芯•号)%。厂2%,

j=l/=!j=l

>・l・

N

£y%=0.

这里与W函数是一样的,只是符号求反后,变成求最小值了。力和y⑴是一样的,都表

示第i个样本的输出结果(1或-1)。

经过加入松弛变量&后,模型修改为:

N

训subjectyi(wxi-6)>l-^pV;t(8)

皿i=i

0<a;<C,V/.(9)

由公式(7)代入(1)中可知,

N

4=2匕%K(K.,刘-b,(10)

这个过程和之前对偶这程一样。

重新整理我们要求的问题为:

NNN

min甲⑻=mini££"/品号)生/一£%,

aaj=i>1e

0<ay<C,V/,(11)

X=°-

,二1

与之对应的KKT条件为:

%=0=yjuj>1,

0<a/<CoNg=1,(12)

a」=C=yiui<1.

这个KKT条件说明,在两条间隔线外面的点,对应前面的系数囚为0,在两条间隔线里

面的对应四为C,在两条间隔线上的后应的系数四在0和C之间。

将我们之前得到L和H重新拿过米:

£=max(0,cr2-aj,H=min(CC+cr2-«)).(13)

L=max(0,a2+%-C),H=min(C,a2+4).(14)

之前我们将问题进行到这里,然后说将由用。2表示后代入W中,这里将代入甲中,得

aV

甲=;K”。:Kn0(\Y\\\+y2a2“2-。2+甲。xistam,3)

其中

K.=K(x.tXj)9

a(25)

匕=£y)jK产Uj+b,-ya;K「y2a2K2j9

y»3

这里的aj和。2’代表某次迭代前的原始值,因此是常数,而四和。2是变量,待求。公式

(24)中的最后一项是常数。

由于由和。2满足以下公式

n

yi«i*+y2a2Y1Otl+Y2CC2

因为a「(i>2)的值是固定值,在迭代前后不会变。

那么用s表示y】y2,上式两边乘以yi时,变为:

%+sa,=%+sa2=w.(26)

其中

n

w=-yi/y\«i*

i=3

代入(24)中,得

2

<P=l/C11(iv-sa2)-i-y.K22a1^sKi2(w-sa2)a2

(27)

+%(w-sa2)V)-w+5a2+%%,―%+匕丽・

这时候只有。2是变量了,求导

---=-sK(w-sa)+Ka—K,a-k-sK,(w-sa,)—yv(+s+yv-1=0.(28)

da?n2222v2v222

如果甲的二阶导数大于o(凹函数),那么一阶导数为。时,就是极小值了.

假设其二阶导数为01一般成立),那么上式化简为:

v

。2(&1+&-2K[2)=5(K|j—Ki?)y2(\—v2)+1—s.(29)

将W和V代入后,维续化简推导,得(推导了六七行推出来了)

。2(即+K22-27CI2)=%(K“+&-2K12)+%(4-"2+%-%)•(30)

我们使用n来表示:

n=K(xltxl)^K(x29x2)-2K(xx,x2).(15)

通常情况下目标函数是正定的,也就是说,能够在直线约束方向I:求得最小值,并且

T]>0o

那么我们在(30)两边都除以“可以得到

a广=%+%(£」),(16)

n

这里我们使用aznew表示优化后的值,(X2是迭代前的值,匕=必-力。

与之前提到的一样。2碇、丫不是最终迭代后的值,需要进行约束:

(Hifar>H\

a^wdippcd=、arifL<a广<H\(17)

Lif«r<L.

那么

。「=4+5(4_若"5).(18)

在特殊情况下,n可能不为正,如果核函数K不满足Mercer定理,那么目标函数可能变

得非正定,n可能出现负值。即使K是有效的核函数,如果训练样本中出现相同的特征x,

那么n仍有可能为0.SMD算法在n不为正值的情况下仍有效。为保证有效性,我们可以推

导出n就是中的二阶导数,r<0,中没有极小值,最小值在边缘处取到(类比y=-x2),n=o时

更是单调函数了,最小值也在边绿处取得,而的边绥就是I和田这样将立=M口。2=H分

别代入甲中即可求得甲的最小值,相应的(X2=L还是。2=日也可以知道了。具体计算公式如

下:

4=%(—+力)一一

6=%(反+伪-scqK(用,用)一见阳扁,用),

4=%+s(%-。,

K=%+5&-旬,

»=4/;+£%++;3K(%比2)+s£L1K(孙友),

甲〃=H/+班+;环K(*,X)+;H2K(&,%)+sHH|K(X,%).

至此,迭代关系式除了b的推导式以外,都已经推出。

b每一步都要更新,因为前面的KKT条件指出了内和为W的关系,而W和b有关,在每

一步计算出四后,根据KKT条件来调整bo

b的更新型L种情况:

6的更新:选择b使得关于乘子生或%的KKT条件成立

4-%沈a㈤+力3广的“--)左(和6十方0)

b2=玛+%(%5-%)-石/2)+M(/”如“一二)枪2户2)+、(8)

如果在界内,则方2=尔如果可*"那在界内乃皿二%

如果和。丁丽内.都在界内,那么乙=4,则6皿=4=%

如果。门和可”期的都在界上,那么可和4之间的任何数都满足

KKT条件,都可作为5的更新值,一般取方…=(4+4)/2.

来自罗林开的ppt

这里的界内指0<四<C,界上就是等于。或者C了。

前面两个的公式推导可以根据

yi«i*+y2a2'=-2%四"=yi«i+y2a2

i=3

和对于0<a,<C有yiW=1的KKT条件推出。

这样全部参数的更新公式都已经介绍完毕,附加一点,如果使用的是线性核函数,我们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论