coursera机器学习技法笔记(5-6)——将核方法应用于回归

来源:互联网 发布:岛风go mac版 编辑:程序博客网 时间:2024/06/05 11:17

5 Kernel Logistic Regression

5.1 Soft-Margin SVM as Regularize Model

  本节主要从正则化模型的观点来讲解Soft-SVM。首先看一下Soft-SVM的模型:

minw,b,ε12wTw+CNn=1εn
s.t.ynwTxn+b1εn
εn0

  由于ε代表了每个样本接近超平面的距离,即:
εn=max(1yn(wTxn+b),0)

因此该模型也可以看做是损失函数Nn=1ε与正则化项12wTw的最小化优化问题,而C则代表了正则化系数,C越大,正则化强度越高。

5.2 SVM versus Logistic Regression

  本节从损失函数上限的角度来阐述了Soft-SVM和Logistic回归的关系,SVM的损失曲线是过(0,1)(1,0)的直线,在(1,0)之后是y=0的直线,而修正后的logistic回归的损失曲线是err=log2(1+exp(ys)),其中,s=wTx+b。本部分内容可参考”机器学习基石”11.1节,该节探讨了将回归用于分类的理论基础。
  可以看到的是,当ys趋向于正无穷时,两种损失函数都趋近于0,当ys趋于负无穷时,两者都趋向于ys
  相比较而言,在损失函数方面,PLA算法是希望直接优化0/1错误函数,SVM通过二次规划来逼近0/1错误,logistic回归则通过梯度下降来进行优化;在算法的质量保证方面,SVM通过最大边际来从理论上保证降低VC维,而logistic回归则利用正则化来限制VC维。它们的缺点都在于其损失函数都只是降低0/1损失函数的上限,而这个上限在ys趋向负无穷时与0/1损失相差比较大。

5.3 SVM for Soft Binary Classification

  由于SVM和对数回归的相似性,因此希望使用核方法使得对数回归能在Z空间内运行。这里先介绍了一个近似的方法,叫probabilistic SVM。即先利用kernel SVM在Z空间得出分数wTx+b,然后把这个分数作为一个新特征用于训练对数回归。

5.4 Kernel Logistic Regression

5.4.1 用加权样本表示最优解
  先进行一项证明,所有的带二次正则化的线性模型都可以将所需求解的权重w表示为样本的加权组合。证明如下:
将最优解w分解为与样本的加权线性组合平行的向量w||以及与之垂直的向量w,则:

wTx=(w||+w)x=w||x

其中,wx垂直,故内积为0。并且由
|wTw|=|wT||w||+wTw|>|wT||w|||

  可知,在不改变损失函数的情况下,存在比w更好的解w||,与题设相悖,故所有线性模型的解都能用样本加权表示。
5.4.2 线性模型的对偶问题以及核函数的运用
  由此,我们可以令w=ni=1βixi,并将其代入logistic回归的优化目标中:
argmaxβ(L)=mn=1ln(1+exp(ynni=1βizTizn))+λni=1mj=1βiβjzTizj

可以看到,原优化问题被转换成了以优化β为目标的对偶问题,并出现了可以使用核函数进行计算的内积计算zTizj
  同样这个模型还有另一种解释,即将核函数K(xi,xj)=zTizj看做是样本,求其线性组合的权重β。(该解释即Andrew NG在coursera中机器学习课程的解释)。

6 Support Vector Regression

6.1 Kernel Ridge Regression

  本节主要将核方法推广到线性模型中:

L(z)=λNwTw+1NNn=1(ynwTzn)2

w=Nn=1βnzn代入该公示,再加上核函数K(xi,xj)=zTizj,并向量化,使之成为对偶问题:
L(β)=λNβTKβ+1N|YβTK|2

β求导之后可以求解析解或用其他方法求解:
L(β)=2NKT((λI+K)βY)

6.2 Support Vector Regression Primal

  使用了上节的核方法来进行回归后发现所使用到的”支持向量”非常多,这是因为求解β的时候得到的解不是稀疏解。而得到非稀疏解所导致的问题是用β来表达w时非常复杂,不利于新来样本的预测。因此希望通过修改损失函数达到控制支持向量的目的。
  将原目标转变为以下目标:

L(z)=12wTw+CNn=1max(0,|ynwTxnb|ϵ)

其中,ϵ为支持向量到超平面的距离。也就是说,当点与超平面的距离小于ϵ时,不产生损失,而超过之后产生线性损失。这与原来的线性回归的区别在于线性回归更受异常点影响。并且可以注意到的是在ϵ距离以内的点最后都不会在w的加权中出现。
  模仿SVM的求解方法,设置距离损失度量δ
L(z)=12wTw+CNn=1δn
|ynwTxnb|<ϵ+δn

然后令δn=δn+δn,再把绝对值展开:
L(z)=12wTw+CNn=1(δn+δn)
ϵδn<ynwTxnb<ϵ+δn
δn>0,δn>0

6.3 Support Vector Regression

  接上节,加入拉格朗日乘子,可以将以上目标转换为对偶问题,流程相同,以下给出部分结果:

w=Nn=1(αnαn)zn
Nn=1(αnαn)=0
αn(ϵ+δnyn+wTxn+b)=0
αn(ϵ+δn+ynwTxnb)=0

并且最后的带核函数的对偶问题是:
min12Nn=1Nm=1(αnαn)(αmαm)kn,m+Nn=1((ϵyn)αn+(ϵ+yn)αn)
s.t.Nn=1(αnαn)=0
0αnC,0αnC

由以上推导可知,当|ynwTxnb|<ϵ时,δn=0,δn=0,故而αn=0,αn=0,因此αnαn=0,该点失去对w的贡献。

6.4 Summery of Kernel Models

  本节对此前(包括机器学习基石)所接触到的线性模型都做了一次小结:
  (1)无核
  PLA/Pocket:使用0/1损失函数,并用特殊方法求解。
  Linear SVR:使用TUBE损失函数,并用二次规划求解。
  Soft-SVM:使用SVM损失函数,并用二次规划求解。
  Linear regression:使用二次损失函数,并求解析解。
  Logistic regression:使用对数损失函数,并用梯度下降/随机梯度下降求解。
  相比较而言,前面两个不常用,因为效果差。
  (2)有核
  Kernel linear regression:线性回归加核函数,可求解析解。
  Kernel logistic regression:由logistic regression加核函数而来,用二次规划求解。
  Soft-SVM对偶问题:由SVM加核函数求对偶问题而来,用二次规划求解。
  Kernel Linear SVR:由Linear加核函数求对偶问题而来,用二次规划求解。
  Probabilistic SVM:先运行SVM再放入logistic回归中。
  相比较而言,前面两者不经常用,因为加入核函数后导致所有样本均对最后的w有贡献,使得预测新样本代价太大,因而应转换为对偶问题求解。

0 0
原创粉丝点击