(1)为什么是1/||W||:
这个得先看约束函数,yi(wT*xi+b)>=1,按比例规定最小函数距离等于1,其他所有的都大于它,这就是约束。最佳分类超平面wT*xi+b=0。1/||W||这既是到它的最小的那个几何距离,在最大化它的时候,自然分割线就到两类样本支持向量的中间去了。
(2)关于KKT条件:
KKT条件是原问题产生最优解的必要条件,不是对偶问题等于原问题的条件。当原问题满足Slater’s condition,Slater条件即是说存在x,使不等式约束中的“小于等于号”要严格取到“小于号”(g(x)>0)同时存在至少一个可行解满足。可以证明,对于凸优化问题,如果Slater条件满足了,则原问题和它的对偶问题相等。(这里具体原因我也不是很理解,网上找遍资料也没有)。
(3)为什么对偶问题等于原问题和对支持向量的理解:
对于一个优化问题的不等式约束,若这个函数本身不加约束时的最优值在不等式约束的的可行域内,那么这个不等式约束就不起作用,就相当于无约束的最优化,这个不等式连同等于号的部分都是非有效约束,他对应的拉格朗日乘子等于零(就是公式里面的λg(x)的λ和g(x)都等于零)。但是在svm中不存在这种情况,因为原问题1/2||w||^2显然关于他的无约束问题最优值是等于0,加之他对应的函数间隔为1,而我们的约束条件是yg(x)>=1,最小才是1,所以所有点的不等式约束在取等号的时候都是有效约束,所以不存在λg(x)的λ和g(x)都等于零这种情况。当这个不等式约束把不加约束的原问题的最优值排除在约束范围之外时这个不等式约束就起作用了,从上面分析显然svm的所有不等式约束是满足的,由于原问题是凸的,那么约束条件直接取这个不等式约束的等于号就好了,因为最优值肯定是在等于号的这条线上面取得,这个时候就退化为等式约束了。既然是可以看成等式约束,那么显然他的对偶问题一定等于原问题啊(感性理解未加证明),还有上面的Slater条件说的存在一个x使不等式约束中的“小于等于号”要严格取到“小于号”,可以反过来理解为当所有x都取等号时,这个问题不就是等式约束的拉格朗日问题了吗,就不存在所谓最大最小,和最小最大之类的,也就不存在对偶问题了,所以这个条件应该是保证对偶问题存在,终于明白为什么说他是非常弱的一个条件了,真的是弱啊。当然这里最主要的还是f(x)为凸函数,无论是在满足kkt条件时能满足全局最优还是在后面使对偶问题能成立,真的是非常重要啊。再看支持向量,就是那些函数间隔等于1的点的约束,它们的不等式约束取等于0,λ有值,即拉格朗日乘子不为0,这些是支持向量。其他的约束其实都能归到这个等式约束上,它们其实不起作用,对用的拉格朗日乘子都是0。▽f(x)-∑λi▽g(x)=0可以看出,原问题在最优解处的导数是约束条件在这里导数的线性组合。换句话说假如在三维中它们的梯度共面。
(4)关于smo求解:
一次只优化a1和a2,其他固定不变,当ai完全满足ktt条件时,那么他就是最优的了。从ktt条件入手,而不是只关注要优化的函数,真是另辟蹊径啊。首先找出不满足的a1,然后再随机找个不满足的a2(实际中有更好的挑选方法)。那么选出来之后怎么来修改这个数呢,总不能随便给一个满足ktt约束的就行吧。再回头看看原始需要优化的函数,使它变小就行了,改变的方向一定也是向ktt条件靠拢的方向。用a2表示a1,再把它带到优化函数中,他就成了一个一元的凸函数,直接求导就行了。这里算出了a2,但是还没有结束,他还要满足前面的约束,超出约束就取约束条件边界。【0,c】之间
(5)a更新上下界的求法,超出上下界就取边界值: