在上一节,我们完成了SVM从处理线性可分到线性不可分的转变,为更好解决非线性可分问题,提出了一个观点。这一节,我们将首先学习优化理论中的原问题与对偶问题和如何在两者的转化过程中使用核函数解决无限维的问题。
补充优化理论知识:
原问题:
最小化:
限制条件: , (i=1~k); , (i=1~m)
对偶问题:
定义:
对偶问题定义:
最大化:
限制条件:
解释一下这里的优化理论:
这里的原问题是一个普适的定义,可以和上一节中提出的SVM优化问题对应,具体将在下一节详细解释。
对偶问题首先定义了一个与原问题对应的函数形式。最大化中的inf()函数是用来求。
这个函数会对每一个和,求出一个,最终得到一个确定的最小的。所以等式的左边只有和两个变量,右边却有,和三个变量。
在进行解释原问题与对偶问题转化过程前,需要给出如下定理:
如果是原问题的解,,而和是对偶问题的解,则有
证明:
公式1
第一个不等号的左侧函数中的是最小值,右侧函数中的是某个解,所以第一个不等号取小于等于。
因为在原问题和对偶问题中有, , (i=1~k); , (i=1~m),
所以第二个不等号左侧是+负项,所以第二个不等号取小于等于。
定义G=, G叫做原问题与随偶问题的间距。
对于某些特定的优化问题,可以证明G=0。
强对偶问题:若为凸函数,且 , ,则此优化问题的G=0。
很明显,SVM优化问题符合上述定义。所以G=0。即,
因为,则公式1中的所有不等号都将变为等号。
从而使取得最小值,同时 这两项应为零。
在原问题和对偶问题中有, , (i=1~k); , (i=1~m),
我们可以得到这样一个结论:
对于,或者,或者,这就是KKT条件。
本小节,我们学习了原问题与对偶问题,并且了解了当前要解决的优化问题可以和对偶问题相转化。大家可以猜到,下一小节,我们将用核函数求解对偶问题,从而解决优化问题,求出和b。