课程概要:
1.最优间隔分类器
2.原始/对偶问题
3.svm的对偶问题
在上篇中,我们提到了函数间隔与几何间隔,这两个定义是 svm 的基本定义,因为svn比较复杂,这里先简要介绍一下svn的几个部分。首先是函数间隔与几何间隔,由它们
引出最优间隔分类器;为了多快好的解决最优间隔分类器问题,使用了拉格朗日对偶性性质,于是,先要理解原始优化问题与对偶问题及它们在什么条件(KKT 条件)下最优解等价,然后写出最优间隔分类器的对偶形式;通过对最优间隔分类器对偶问题求解,发现求解时目标函数中存在内积形式的计算,据此引入了核技法;引入核技法后就得到了完完全全的 svm求解问题,使用序列最小化算法(SMO)进行求解。这就是公开课中对svm的全部介绍,这里先写出来有个大致的了解。
一、最优间隔分类器
在开始之前,仍然要强调一下本篇所讲的内容仍然是假设数据集是线性可分的。 首先,回顾一下讲述函数间隔时对目标函数的表示方法所做的变化:
类别y可取值由{0,1}变为{-1,1},假设函数变为:
由公式2,我们得知,w,b可以唯一的确定一个超平面。
回顾一下上篇笔记中介绍的函数间隔的缺点,只要成倍的增大 w,b,就可以使函数间隔
变大。而几何间隔不会遇到这个问题,究其原因,是成倍增大 w,b后,决策面的位置不会发
生改变。本节会利用这个性质,对 w,b进行缩放,从而简化问题。
最优间隔分类器(optimal margin classifier),是指在对数据分类时,得到的决策面的一
个性质,即决策面距离数据点的几何间隔最大。可以使用置信度对它来进行解释,对于线性
可分数据,我们可以得到无数个决策面,直观上看,数据点距离决策面越远,决策面对数据
点的预测可信度就越高。最优间隔分类器即是寻找一个决策面,使之对数据点的预测的置信
度达到最高(即找到一个离数据点最远的决策面)。最优间隔分类器可以看做是支撑向量机的前身,是一种学习算法,
通过选择特定的w和b,使几何间隔最大化(离数据点最远即为使集合间隔最大)。
使用数学语言描述即为:
上式的含义是通过改变w,b,寻找一个最大的γ值,使得对于训练集中所有的点,点到决策面的几何距离都大于γ。
其中, ||w||=1保证了目标值是几何间隔。但是这个约束本身是一个非常糟糕的非凸性约束。要求解的参数w在一个球体表面,如果想得到一个凸优化问题,必须保证如梯度下降算法这种局部最优值搜索算法不会找到局部最优值,而非凸性约束不能满足这个条件,所以需要改变优化问题。
为了解决上述问题,提出下面的最优化问题:
上述两式描述的是同一个问题,即寻找一个最大的值(几何间隔),使得训练集中所有的点到决策面的几何距离(函数间隔)都大于该值。上式通过将非凸性的约束条件转移到目标函数中,使问题变成凸性问题。
对于上式,还可以再做一次变换,使之更为简单。我们知道,等比例对 w,b 进行缩放,不会改变决策面的位置。假设已经得到 w,b,那么就能求出γ^的值;
那么我们可以通过缩放w,b(同时除以γ^),使γ^值变为1;这样得到的决策面与开始时就将γ^设为1是一样一样的;于是,得到更简单的问题
划掉的部分可以看做是推导过程,对 1/||w||求极大与对1/2||w||^2求极小是等同的。
上式表述就已经是凸性问题了。为了更好的解决该问题,需要使用它的对偶问题。下面首先介绍原始问题与对偶问题的概念。
二、原始优化问题与对偶优化问题
回想当年高数课上的拉格朗日(Lagrangian)方程,它用于求解这样的问题:
种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n
+ k个变量的方程组的极值问题,其变量不受任何约束。拉格朗日乘数法 这是百度百科中关于拉格朗日乘数法的介绍,忘记的同学可以看一看,试试能不能回想起来。
构造拉格朗日方程:
即等于原始目标函数加限制函数的线性组合,其中参数β称为拉格朗日乘数。
构造拉格朗日方程后,我们对其求偏导数,将偏导数设为 0,如公式 4,求得的值就是
原问题的解了。
这是比较标准的拉格朗日方程的应用,下面我们将通过扩展约束条件,介绍更为广义的
拉格朗日方程。在约束条件中添加不等式约束后,我们得到如下问题,称之为原始优化问题。
原始优化问题
、
该问题对应的广义拉格朗日方程是:
此时α和β为拉格朗日乘子。
其中,下标 p 代表原始问题。可以发现,在给定 w 时,对求极大时,当 w不满足所有约束条件,比如
≠ 0,或者
> 0,总可以找到相应的
,使
= ∞。
所以当约束条件都满足时,要求L的最大值,应该使所有的拉格朗日乘数项的和为0。因而就有了如下的结论:
那么,求min f(w)就是求下式的值,定义为p*:
p*即为原始问题取得最优解时的函数值。
对偶优化问题
定义:
其中,d代表对偶问题。这样,可以得到原始问题的对偶问题的定义:
对比公式11与公式 8,我们发现这两个很相似,只是 max 和 min 调换了位置。再令:
即 d*是对偶问题取得最优解时的函数值。
由上可得:
因为一个函数先取最小值再取最大值一定小于等于先取最大值再取最小值
在一些条件下, d*可以等于p*,首先,先做一些假设,假设约束不等式gi都是凸 (convex)函数(线性函数都属于凸函数),约束等式 hi 都是仿射(affine)函数(仿射函数定义:h(w)=wTx+b,仿射几乎和线性等价,只不过允许截距 b的存在)。在假设不等式约束条件是严格可执行的,即存在i使得g (w)<0。
在上述条件下,存在w*,α*,β*,其中w*是原始问题的解,α*,β*是对偶问题的解,并且:
此外,还要满足KKT条件,KKT条件如下:
KKT中的隐含条件:
如果αi不为0 => gi(w*)=0,但是一般来说αi>0 <=> gi(w*)=0,即该条件被**(达到临界值)
当gi(w*)=0,称gi(w*)为活动约束。
三、最优间隔分类器的求解
上面讲述的原始/对偶优化问题(primal/dual optimal problem),其目的在于对在原始问题上不易求解的问题进行变换,使之更易求解。 下面介绍通过对最优间隔分类器的对偶问题进行求解,得到的简化后问题的过程。
根据上面的最优间隔分类器:
将约束改写为:
又通过KKT条件,αi>0 => gi(w,b)=0,即活动约束
gi(w,b)=0 <=> y(i)(wTx(i)+b)=1,即函数间隔为1
该问题对应的拉格朗日方程是:
由于这个问题只有不等式约束,所以没有β。
求解对偶问题时,首先要固定α,以w,b为变量,最小化 L;最小化L时,求解 L对w和b的偏导,并将导数设为 0,可以得到:
将公式 19 和公式 20 代入到公式 18,可以推导出一种更简单的形式,从该形式可以引入核技法,下面是推导过程:
其中,第一步是原问题,第二部将累加和展开,第三步代入公式 19 和20;第四步合并系数,第五步代入公式19,第六步展开。
所有优化问题都是针对w进行了,b只是一个参数。
为了解决上述对偶问题,求出参数α*,而求出α,即可通过上面w的公式求出w,求出α和w后,容易求出b,因为w决定了超平面的斜率,那么根据最优间隔,将α和w代入原始问题,就容易求出b了,如下式:
这个公式的直观理解就是,找到最差的样本(离得最近的正负样本),根据它们的位置,可求出超平面的位置。如下图:
公式22即是两条虚线与纵轴的截距的平均值的含义。
总结:这一讲已经有点跟不上了,数学知识不够用了,拉格朗日函数完全忘记,看来还是要补一下高数了。哎,任重道远啊~~
参考:
斯坦福ML公开课笔记