支持向量机(二)

来源:互联网 发布:魔音软件 编辑:程序博客网 时间:2024/06/12 01:12

为什么要引入对偶呢?其原因有二:

1.解原始问题是困难的,而对偶问题相对容易。

2.通过对偶,可以自然引入核函数

 

对偶:

对偶是一个很宽泛的概念,是一种方法。常常求解对偶问题原始问题要容易。如证明 成立与证明非A不成立是对偶。>=与<=是对偶,min与max是对偶等等。但要注意,对偶问题与原问题等价是有一定条件的!

                                                                               图1

 

1左中原始问题与对偶问题不等价,右图中原始问题与对偶问题等价。何时等价?我们将会在后面讲到。接下来先介绍约束最优化问题。

约束最优化问题:

         在我们开始之前,我们先介绍约束最优化问题,这是最优化理论中一个非常重要的部分。其形式如下:

     

这是最为典型的约束最优化问题形式,在各个工程领域都会遇到,应用非常广泛,大家一定要熟悉。我们介绍如下定理,不加证明。

 

 

下面介绍凸规划,其具有一系列良好性质。 

凸函数定义可百度,在此不再说明。

 

我们接下来说明直接求解原始问题理论上是可行的,即直接运用KKT条件即可,但实际运算上是困难的。

上一篇的最优化问题如下:

         

直接利用KKT条件得到

         

仍然非常的难解。下面我们将通过解对偶问题来解这个最优化。

 

第一步:得原始问题

我们把最优化问题(1)重写在下面,称为原始问题(prime problem):

         

由约束条件可知x的可行域只能限制在D内。问题(7)等价于在左图定义域D内取得最小值。

       

                                                                          图2

为了去掉约束条件,如果我们能构造如右图的,使

       

那么问题(7)与便是等价的。且取得最优解的一定在D内。此时便消去了约束条件。这种通过引入∞惩罚不满足约束

条件的区域的方法叫做罚函数法

接下来的任务是如何找到一个这样的

 

我们考虑max拉格朗日函数

       

如果gi(x)或hj(x)不满足(7)中的约束条件,如gi(x) > 0,那么总可以调整αi或βi使为∞。而在约束条件内,如gi(x) ≤ 0,只有令αi= 0才能取得最大。此时

可知L(x,α,β)满足(8)的要求,故令

      

原始问题(7)可以写为

       

 

第二步:对偶

我们把(10)式的minmax调换一下位置,便得到对偶问题(dual problem):

       

此时有两个问题:

问题1p*d*相等吗?

问题2:如果p*d*相等时,那么它们对应的x*和α*和β*相等吗?

 

不加证明的给出一个定理:

此定理说明可以同时达到最优。图1给出了一个形象化的解释。

                                      图1

 

第三步:解对偶问题。

         套用KKT条件解一下就解出来了。下面将给一个例子。

 

 

:求解上一篇中支持向量机的最优化问题(11

       

 

1.得原始问题:

       

其中

       

为拉格朗日函数。

 

2.转换原始问题(13)为对偶问题

       

 

3.用KKT条件解

       

解得

      

将(17)代入(14)化简得到

       

此时仅为关于α的函数。

 

4.对偶问题(15)变为

      

综合上面对α的约束,我们得到最优化问题:

       

这是一个标准的二次规划形式,去掉了不等式约束。有成熟的解的理论和方法。可参阅最优化教材。这样我们就解得了α。

 

5.w, b

由(15)解得w

再看(14)第三式,一定存在一个αi > 0, (i=1, 2, ..., k)使成立。(若所有αi = 0则w = 0),故有,解得b。

 

6.求最佳分类面

最佳分类面为

 

 

小结:

本节我们讨论了用对偶求解支持向量机的方法。

在下一节中,我们将讨论含有噪声点线性不可分的情况。


博主e-mail:qiuqiangkong@gmail.com

原创粉丝点击