SVM是一种正则化模型
对于上一篇所讲的Soft-Margin SVM有如下形式,
b,w,ξmin21wTw+C⋅n=1∑Nξns.t.yn(wTzn+b)≥1−ξnξn≥0
从ξn的含义来看,ξn=marginviolation,它记录的是nosie数据距离边界的大小,即犯错误程度的多少,但从另一个角度去看,对于任意的参数(b,w),有,
- 当数据(xn,yn)破坏了边界时:ξn=1−yn(wTzn+b)>0;
- 当数据(xn,yn)没有破坏边界时:ξn=0
即,ξn=max(1−yn(wTzn+b),0)。
所以,对于Soft-Margin SVM也可以描述成另一种无约束的形式,即,
b,wmin21wTw+Cn=1∑Nmax(1−yn(wTzn+b),0)
该形式与L2 regularization相类似,即,
SVMmin21wTw+C∑err↔L2minNλwTw+N1∑err
首先,可以从形式来看,
对比上式,有以下3条关系,
1.largemargin⇔fewerhyperplanes⇔L2regularizationofshortw2.softmargin⇔specialerr3.largerC⇔smallerλ⇔lessregularization
所以,可以把SVM看作是一个已经正则化过后的模型。
另外,也可以从误差衡量角度来看,
b,wmin21wTw+Cn=1∑Nmax(1−yn(linearscorewTzn+b),0)
让上式中的s=wTzn+b,则SVM的误差衡量方式即为,
errSVM(s,y)=max(1−ys,0)—hingeerrormeasure
回顾之前的误差衡量方式有PLA中的0\1误差err0/1(s,y),逻辑回归里的交叉熵误差errSCE(s,y),与SVM里的hinge error放在一起,即,
err0/1(s,y)=[[ys≤0]]errSVM(s,y)=max(1−ys,0)errSCE(s,y)=log2(1+exp(−ys))
其图像如下,
从上图中,可以得出如下关系,
−∞←ys→+∞≈−yserrSVM(s,y)=0≈−ys(ln2)⋅errSCE(s,y)≈0
而SVM的代价函数前面还有一项21wTw,所以,SVM与L2-regularization logistic regression相似,即,
SVM≈L2−regularizationlogisticregression
Probabilistic SVM
把SVM和logistic regression结合起来,进行soft binary classification,为了综合二者的优点,这里提出了一种可能的二层式的学习模型(Two-Level Learning),即,
g(x)=θ(A⋅(wSVMTΦ(x)+bSVM)+B)
上式中,
A>0,ifwSVMreasonablygoodB≈0,ifbSVMreasonablygood
新的LogReg问题描述如下,
A,BminN1n=1∑Nlog(1+exp(−yn(A⋅(ΦSVM(xn)wSVMTΦ(x)+bSVM)+B)))
Two-level learning: LogReg on SVM-transformed data
Platt’s Model of Probabilistic SVM for Soft Binary Classification |
1.在数据集D上使用SVM得到(bSVM,wSVM) ,变换资料D为zn′=wSVMTΦ(xn)+bSVM 2.在变换后的资料(zn′,yn)上,使用LogReg,得出(A,B) 3.返回参数,得出模型,g(x)=θ(A⋅(wSVMTΦ(x)+bSVM)+B)
|
有关Kernel的一些讨论
要让算法能用kerne表示的前提条件就是,最佳化的w∗要能表示成资料zn线性组合的形式(w∗=n=1∑Nβnzn),原因如下,
w∗Tzn=n=1∑NβnznTz=n=1∑NβnK(xn,x)
回顾以前的算法,
SVM:wSVM=n=1∑N(αnyn)znαn可由dualSVM求得PLA:wPLA=n=1∑N(αnyn)znαn可由mistakecorrections求得LogReg:wLogReg=n=1∑N(αnyn)znαn可由totalSGD求得
以上算法的最佳化的w∗都可以表示成资料线性组合的形式。
下面阐述一个理论(即Representer Theorem)如下,
对于任意L2-regularized linear model,即,
wminNλwTw+N1n=1∑Nerr(yn,wTzn)其最佳化w∗均可表示为 w∗=n=1∑Nβnzn。
运用该理论,考虑把kernel用在LogReg里,这就是Kernel Logistic Regression(KLR),下面就来具体说下这个KLR。
对于一个L2-regularized LogReg,描述如下,
wminNλwTw+N1n=1∑Nlog(1+exp(−ynwTzn))
考虑到有w∗=n=1∑Nβnzn,所以用参数β来代替参数w,有,
βminNλn=1∑Nm=1∑NβnβmK(xn,xm)+N1n=1∑Nlog(1+exp(−ynm=1∑NβmK(xm,xn)))上式,就是KLR的描述,其中参数β可用GD/SGD方法求得。
那么,对于KLR,可用两个角度去看,
-
角度1: KLR是关于w的模型,里面包含了一个kernel的非线性转换以及一个L2 regularizer。
-
角度2: KLR是关于β的模型,把kernel看作是一种转换,即(K(x1,xn),K(x2,xn),⋯,K(xN,xn)),把前面的n=1∑Nm=1∑NβnβmK(xn,xm)这一项看作是一种特殊的regularizer,即,βTKβ。