Support vector machines
SVM是监督性学习中属于基于“距离隔板”一类,该方法被认为是其中效果最好的方法之一。为了介绍SVM首先介绍margin和利用距离大小分离数据的概念。然后介绍optimal margin classi er,中间会使用到拉格朗日对偶。此外我们会介绍kernal,它能使SVM算法在高维特征空间上更加有效率。最后我们将介绍SMO优化算法,用于高效地SVM算法进行计算。
1.Margins
对于两组可完全分离的数据,可找到一个seperating hyperplane,使得两组数据分别位于该平面两侧,平面上的点满足
θTx=0
2.Notation
引入新的分类器形式:
g(z)=1 if z>=0,otherwise g(z)=−1
该函数直接给出分类,而不是可能性。
3.Functional and geometric margins
对于给定的一个训练样本,对应样本的functional margin为:
该值应该恒大于0,该值越大,说明正确的可能性越高,分类效果越好。同一样本,
ω和b
乘以一个倍数,functional margin同样会以相同倍数增加,因此可以对
ω
进行归一化消除该歧义。
对于一个样本集合,对应的functional margin为所有样本的functional margin的最小值:
类似的,定义样本的geometric margins:
样本集合的geometric margins:
值得注意的是,geometric margins不随
ω
的变化而改变。
4.The optimal margin classi er
根据上述分析,将该问题用公式表述:
即在一定约束条件下,使样本集对应的geometric margin最小,此时所对应的参数即为分离平面的参数,也就是optimal margin classi er。
因为上述约束中含有非凸约束,因此不宜求最优解,因此将问题表述进行转化:
再引入约束
得到问题最终转化形式
这种形式的优化问题能够使用quadratic programming (QP) code进行求解。
5.Lagrange duality
对于下面的问题:
定义Lagrangian为:
βi
叫做Lagrange multipliers。我们令L的偏导数为0:
解得
ω和β
.
对该问题进行拓展,使得该方法能够解决约束中存在不等式的情况。定义primal optimization problem:
定义generalized Lagrangian为:
下表p的含义为primal,可以证明,当
ω
违反了约束条件,那么:
反之
θp(w)=f(w).
,因此我们得到:
因此将问题转化为:
其中
p∗=minωθp(ω)
我们叫做the value of the primal problem。
接下来我们定义该问题的对偶定义:
因为对一个函数先求极小再求极大总小于等于小球极大再求极小,我们得到:
但是在一些条件下,我们也可以得到:
我们来看看这些条件是什么:
假设f和g是凸函数,h是affine。假设约束g是可行的,即存在一些w使得g(w)<0对所有i都成立,在这些假设下,一定存在满足要求的解,并且
p∗=d∗
.并且,存在如下条件Karush-Kuhn-Tucker (KKT)conditions :
由条件5和7得到,如果
α∗i>0
,那么
gi(w∗)=0
之后我们会提到 SVM只存在少数量的支持向量,KKT也会在SMO算法中得到使用。
6.Optimal margin classi ers
回到之前讨论的最优margin分类的问题,我们已经得到如下表示:
约束为:
注意到当
α∗i>0
,functional margin等于1。
事实上,如上图,只有距离超平面最近的几个点对应的
α∗i>0
,这几个点的坐标称为Support vectors。
对于我们的问题建立拉格朗日算式:
令
得到
令
综合上式得到
得到问题的转化形式:
解出
α
即可表示出w。
容易证明:
当我们进行预测时,使用如下式子进行计算:
该式表明再进行预测时我们只需要计算待测点坐标与支持向量的内积。下节我们将应用该性质,得到支持向量机的算法。