机器学习基石-Dual Support Vector Machine
上节课我们主要介绍了线性支持向量机(Linear Support Vector Machine)。Linear SVM的目标是找出最“胖”的分割线进行正负类的分离,方法是使用二次规划来求出分类线。本节课将从另一个方面入手,研究对偶支持向量机(Dual Support Vector Machine),尝试从新的角度计算得出分类线,推广SVM的应用范围。
大纲
Motivation of Dual SVM
1 Non-Linear Support Vector Machine Revisited
上一节提到过我们想用非线性的支持向量机,一方面使用支持向量机可以减少算法的VC维。另一方面使用特征转换,使模型更加复杂,减少
我们注意到,在特征转换之后,求解QP问题在z域中的维度设为
2 Todo
我们下文介绍一种方法,把原问题,即包含
3 Key Tool : Lagrange Multipliers
转化为对偶问题的关键工具是拉格朗日乘子
Regularization中,在最小化
在Regularization问题中,我们把
λ 当做一个已知变量,这样问题就变得很好求解在Dual SVM中,我们把\lambda视为未知变量,并且每一个约束对应一个
λ
4 Starting Point:Constrained to Unconstrained
我们可以通过构造拉格朗日函数把约束的问题转化为非约束的问题
首先我们通过原问题构造拉格朗日函数
这里
然后我们构造非约束问题
为什么可以这样转化呢?
- 当
(w.b) 违反约束条件时,里面的最大化问题会趋向于正无穷 - 当
(w,b) 满足约束条件时,里面的最大化问题等价于12wTw
Lagrange Dual SVM
1 Lagrange Dual SVM
我们称
为原始问题
对于任意给定的
对于最好的
所以我们导出来对偶问题
已知
原始问题的目标函数是凸的
原始问题有可行解
原始问题的约束是线性约束
那么,上述不等式关系就变成强对偶关系,
2 Solve Lagrange Dual
我们先求解里面这个无约束问题,那么根据梯度下降算法思想:最小值位置满足梯度为零。首先,令
我们将
我们继续对里面的问题求最优,对
带入对偶问题,并化简,可得
3 KKT Optimality Conditions
原始问题和对偶问题的最优解
- 原始问题可行,即
yn(wTzn+b)≥1 - 对偶问题可行
αn>0 - 对偶问题的里面的问题最优
∑ynαn=0,w=∑αnynzn - 原始问题的里面的问题最优
αn(1−yn(wTzn+b))=0
当我们解出了
4 Dual Formulation of Support Vector Machine
因为目标函数中没有关于w的项,所以我们把关于w的约束去掉,其实已经隐含的目标函数中了。那么可以整理为以下形式
这就是标准的hard-margin SVM dual形式,它是一个包含N个变量,N+1个约束的QP问题
Solving Dual SVM
1 Dual SVM with QP Solver
我们可以利用现有的QP工具包求解上述的QP问题
2 Optimal (b,w)
我们可以通过KKT条件求解
-
w=∑αnynzn - 通过原始里面最优问题的条件,我们可以推出,当
αn>0 时,我们可以求解b=yn−wTzn ,其实,αn>0 ,对应的点称为支持向量,在分离边界上
Messages behind Dual SVM
1 Support Vector Revisited
回忆一下,上一节课中,我们把位于分类线边界上的点称为support vector(candidates)。本节课前面介绍了
根据上一部分推导的w和b的计算公式,我们发现,w和b仅由SV即
2 Representation of Fattest Hyperplane
我们发现,二者在形式上是相似的。
3 Summary: Two Forms of Hard-Margin SVM
总结一下,本节课和上节课主要介绍了两种形式的SVM,一种是Primal Hard-Margin SVM,另一种是Dual Hard_Margin SVM。Primal Hard-Margin SVM有
Are We Done Yet?
到了这里我们看起来已经消除了对
但是,Dual SVM是否真的消除了对