最近看了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条件是什么呢? 维基百科的定义是:
即对于约束优化
需存在w,b使(此时的w,b相当于危机百科中的x, 可能会有一点不好理解)
而我当时认为不管w,b取什么值, 在支持向量上的点的不等式约束并不严格成立,而是取了等号。这是由之前的假设的到的。
其实这么理解是有问题的,最优化的w,b确实会使支持向量上的点满足 ,但slater条件只是需要存在w,b使不等式严格成立,至于此w,b是不是最优解并不关心。那么怎么确定存在使不等式严格成立的w,b呢。
问题解答
当数据点线性可分时,必定可以找出最大间隔超平面。现在我找到在支持向量上的点,作间隔超平面的垂线,并将该垂线的中点加入到原数据集中,获得新的数据集。在新的数据集上使用svm算法求解最大间隔超平面,该超平面与原数据集上的最大间隔超平面处于同一位置,此时的支持向量是新加入的点,求出的w,b对新加入的点满足
,这样对原来的支持向量满足
,则对原数据上所有的点满足
,那么
存在w,b使不等式严格成立,满足slater条件,又由于f, 为凸函数,故满足强对偶,对偶问题的最优解即是原问题的最优解。
p.s. 其实解得最优解的w,b后,等比例放大w,b,此时的w,b就满足不等式严格成立。