支持向量机SVM(2)

来源:互联网 发布:开淘宝网店怎样发货 编辑:程序博客网 时间:2024/05/17 04:49

上一篇介绍了通俗SVM,这次介绍SVM对偶问题解法,就是对原问题进行转化成另外一个问题,对新问题的求解,间接也可以求出原问题。对偶问题的一些定义和性质可以以后在学习。



如果对原始资料进行维度转换,Φ(xn) 可能有很多维度,根据VC理论 d +1维,这里d是新维度空间里的维度,如果d太大,利用QP二次规划将很耗时


 

希望对原SVM转化成相对简单的对等的SVM问题,变量减少为N个,条件变成N+1个


利用拉格朗日乘子法,把限制条件加到目标求解函数中,min(max)的形式仍然不方便。不过可以经过一系列的变化得到其与对偶形式max(min)的关系,最大值中最小值显然要大于等于最小值中的最大值:


右边的形式通常叫拉格朗日对偶问题,这里大于等于的关系告诉:如果拉格朗日对偶问题解决了,就得到原来对偶问题中解的下线,不完全是原来问题的解但是能够知道原来问题至少能做到多好程度,在最佳化问题中,大于等于的关系被称为弱对偶。实际上,对于这里的二次规划问题,等于=的强对偶问题满足如下的条件时会成立。

Ø 原始问题是凸问题

Ø 原始问题线性可分

Ø 约束条件是线性的

很幸运的,上面的三个条件对于原始的SVM问题都是满足的。因此,接下来我们详细来看一下如何求解原始SVM的拉格朗日对偶问题。

对于里面的min问题是没有条件的最佳化问题,那么对变量的微分应该要等于0的结果。首先对b进行微分,得到如下图的结果。


把b微分结果代入原问题,可以得到化解,再对w向量进行微分:


我理解,对b,w微分结果代入原公式,可以化简掉b,w对问题的限制,进而求α


得到KKT条件,对原问题优化是必需的。


把求最大值问题转化为求最小值问题,在利用QP求出α


根据求出α和KKT条件,进而求出b,w值,b的求解用α不为0的维度求解

总结:对偶SVM把多维转化隐藏到QP求解中的Q矩阵里,并没有消除,当Z的维数太大时,QP的计算量任然很大,这就引出核函数方法,下一介绍。