上一篇讲到了,支持向量机的目标就是求解数据点到分割超平面的最大几何距离,目标函数为:
这个问题等价于(为了方便求解,我在这里加上了平方,还有一个系数,显然这两个问题是等价的值):
min12∥w∥2s.t.,yi(wTxi+b)≥1,i=1,…,n
很明显,我们已经将原来的目标函数转换为了一个凸函数问题,可以用任何现成的 QP (Quadratic Programming) 的优化包进行求解。然而求解这种问题还有一种更有效的方法,通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题。
Lagrange Duality 变换:
任意一个带约束的优化问题都可以写成下面的形式:
mins.t.f0(x)fi(x)≤0,i=1,…,mhi(x)=0,i=1,…,p
我们希望把约束问题转化为无约束的优化问题,定义 Lagrangian 如下:
mins.t.f0(x)fi(x)≤0,i=1,…,mhi(x)=0,i=1,…,p
现在让它针对
λ 和
ν 最大化令:
这里代表的每一个元素都是非负的,对于每一个满足约束条件的x来说=f0(x),这样原始的约束问题就变成了求解minZ(X)了。即:原来的lagrange问题变成了:
这个问题被称为primal问题,而对应的dual问题则是:
下面将利用数学严格推导两者之间的关系:
令 为primal problem的下界 p∗
那么记,dual problem 的上界为 d∗,那么有
则
而在SVM中前提的假设是
这个等式成立的条件则是要满足Slater 条件和 KKT 条件。
这两个条件在下一章阐述。