1.svm定义
SVM从线性可分情况下的最优分类面发展而来 。最优分类面就是要求分类线不但能将两类正确分开( 训练错误率为0),且使分类间隔最大。SVM 考虑寻找一个满足分类要求的超平面,并且使训练集中的点距离分类面尽可能的远,也就是寻找一个分类面 使它两侧的空白区域(Margin) 最大 。如下图所示:
左边是一个分类超平面,但是不是最佳的,显然右边的分类超平面是最佳的,我们的目标就是要找到最佳的分类超平面。
2.间隔最大化
先给出一般的线性分类超平面的定义:
样本集
{xn,tn},n=1,2,...,N,xn∈Rd,tn∈{−1,1}
分类器:
y(x)=wTx+b
也就是如果预测值大于0则为类别1,预测值小于0则为类别-1。总之,有:
样本集任意一点
xn
到分类面( 满足
tny(xn)>0
) 的距离为:
这类似于点到直线的距离的求发。假设有一条直线: x1+x2+2=0 ,我们求点 (xi,xj) 到该直线的举例就是 xi+xj+2x21+x22√ ,只是上面的分母它用了一个向量的形式来表示所有的变量 (w1,w2,...,wm) 。
而SVM要找的分类平面是,使得离该平面最近的点(边界点)离该平面的距离尽可能的远,用数学公式表示就是:
里面表示距离分类面最近的点的距离,外面表示使得该距离最大。因为距离平面最近的点对应的 tn(wT+b) 必定为某个正数 k ,我们假设该值就是1,并不会影响参数
并且上面假设了离分类面最近的点的距离为1,那么其他点对应的 tn(wT+b)>1 。
因为问题转化为最大化
||w||−1
,等价于最小化
12||w||2
,则上述问题可以用下面的数学表达式来描述:
解这种含不等式约束的极值点要用拉格朗日乘子法,构造拉格朗日函数如下:
其中 an 是拉格朗日乘子,是一个正数。
对于上述的 L(w,b,a) ,对它的最大值进行讨论。
1.当 tn(wTx+b)>=1 时:
显然有 (wTx+b)−1≥0 ,又 an 是一个正数,所以
所以,很显然这种情况下 maxL(w,b,a)=12||w||2
2.当
tn(wTx+b)<1
时:
显然有
(wTx+b)−1≥0
,又
an
是一个正数,所以该累加项趋近于负无穷,即
∑Nn=1an(tn(wTx+b)−1)
趋于
−∞
,所以
maxL(w,b,a)
值是趋近于
+∞
总结之后就是:
又前面假设中已经有任意点都满足 tn(wTx+b)>=1 ,所以 maxL(w,b,a) = 12||w||2 。
然后我们再回到原始的优化问题:
因为 maxL(w,b,a) = 12||w||2 ,用 L(w,b,a) 替换 w ,所以该问题就等价于:
但是这样不容易求解,我们需要考虑它的对偶问题。
3.拉格朗日对偶性
求下面极值:
在等式约束下的极值问题 s.t.hi(w)=1,...,l
在不等式约束下的极值问题 s.t.gi(w)≤0,i=1,...,k;hi(w)=1,...,l
定义
θP(w)=maxα,βL(w,α,β),s.t.αi≥0
,只有满足基本约束条件时,
θP
才会有最大值,基本约束条件就是上面不等式约束下的那些约束条件:
原问题
minwf(w)
转化为
minwθP(w)=minwmaxα,βL(w,α,β)
,记为
p∗
,直接求解不容易,需要转向另一个问题
θD(w)=minwL(w,α,β)
,先固定
α,β
,然后再求拉格朗日函数关于
w
的最小值,之后再求
该问题是原问题的对偶问题,记为 d∗ ,很容易推出有下面大小关系:
即最小值的最大取值一定要小于等于最大值的最小取值。
为了使得原问题的解和对偶问题的解相等,即
p∗=d∗
,必须使得它们的解
(w∗,α∗,β∗)
满足KKT条件,即:
∂∂wiL(w∗,α∗,β∗)=0,i=1,...,n
∂∂βiL(w∗,α∗,β∗)=0,i=1,...,l
α∗igi(w∗)=0,i=1,...,k称为KKT对偶互补条件
gi(w∗)≤0,i=1,...,k
a∗≥0,i=1,...,k
如果
(w∗,α∗,β∗)
都满足KKT条件,那么它们就是原问题和对偶问题的解。
补充条件隐含如果
a∗>0
,那么
gi(w∗)=0
, 即
w
处于可行域的边界上,是起作用的(Active) 约束 ,而位于可行域内部的点都是不起作用的约束,其
4.最优间隔分类器
接到第2小节,该优化问题:
转化为对偶问题就是:
该对偶问题表示,先求
L(w,b,a)
关于参数
w,b
的最小值,然后再求关于参数
a
的最大值。关于参数
L(w,b,a)=12||w||2−∑Nn=1an(tn(wTx+b)−1),an≥0
将 w=∑Nn=1antnxn 和 ∑Nn=1antn=0 带入原 L(w,b,a) ,可以求得
s.t.ai≥0,∑Ni=1aiti=0
推导过程为:
注意变换过的
L(w,b,a)
式子中,
xi
表示第i个样本,是已知的;
ti
表示第i个样本对应的类别值,为1或-1,也是已知的;所以该式子中仅有一个参数
a
是未知的。所以进一步的优化就是找到某一组