最近看了Free Mind写的支持向量机的系列文章:http://blog.pluskid.org/?page_id=683,感觉收获比较大。但是对于其拉格朗日对偶函数为什么满足强对偶条件并没有给出详细的解答。
原文中是这样描述的:“如果原始问题是 Convex 的并且满足 Slater 条件的话,那么 strong duality 成立。需要注意的是,这里只是指出了 strong duality 成立的一种情况,而并不是唯一情况。例如,对于某些非 convex optimization 的问题,strong duality 也成立。这里我们不妨回顾一下 SVM 的 primal problem ,那是一个 convex optimization 问题(QP 是凸优化问题的一种特殊情况),而 Slater 条件实际上在这里就等价于是存在这样的一个超平面将数据分隔开来,亦即是“数据是可分的”。当数据不可分是,strong duality 不能成立”。
而我不理解的地方是:“而 Slater 条件实际上在这里就等价于是存在这样的一个超平面将数据分隔开来”。
Slater条件是什么呢? 维基百科的定义是:
即对于约束优化
当数据点线性可分时,必定可以找出最大间隔超平面。现在我找到在支持向量上的点,作间隔超平面的垂线,并将该垂线的中点加入到原数据集中,获得新的数据集。在新的数据集上使用svm算法求解最大间隔超平面,该超平面与原数据集上的最大间隔超平面处于同一位置,此时的支持向量是新加入的点,求出的w,b对新加入的点满足 y(wTx+b)=1 y ( w T x + b ) = 1 ,这样对原来的支持向量满足 y(wTx+b)=2 y ( w T x + b ) = 2 ,则对原数据上所有的点满足 y(wTx+b)≥2 y ( w T x + b ) ≥ 2 ,那么
p.s. 其实解得最优解的w,b后,等比例放大w,b,此时的w,b就满足不等式严格成立。
参考:支持向量机:Duality
Karush–Kuhn–Tucker conditions