支持向量机入门系列-3:寻找最优值的下界

 

我们首先要引入包含不等式约束的优化问题,标准形式如下:

                                  (1)

f(x)是目标函数,而后面分别是一系列的不等式约束和等式约束。

 

我们首先明确几个概念:

可行点(可行解):所有满足约束的点x。

可行域:所有可行点组成的点集,记为R。正式写出来就是:

最优点(最优解):满足约束(也就是处于可行域之内)并且使目标函数达到最小的点,记为x*。

最优值:如果找到了x*,p* = f(x*) 就是最优值。

 

明确了这些概念以后我们就接着说下面的内容了。

 

与上节所说的只包含等式约束的情况类似,我们定义拉格朗日函数如下:

我们来看看,这与上节的拉格朗日函数有什么不同?多了一系列的不等式约束对应的项,所以也多了一系列的拉格朗日乘子。在这里需要强调的是,所有的λi必须是大于等于0的(也即是不等式约束对应的乘子要求大于等于0,我们记为λ≥0,意思是每个都λi≥0)。至于为什么要这样要求,后面自然可以看出来。

 

接下来我们定义一个重要的函数,我们定义拉格郎日对偶函数(the Lagrange dual function)如下:

                                 (2)

所以拉格朗日对偶函数就是把看成x的函数所找到的最小值。找到这个最小值有什么意义呢?

 

我们先把结论写下来,这个结论十分重要,是本节论述的目的:

对偶函数产生了原问题(1)最优值p*的一个下界,也就是说,对于任意的λ≥0和任意的μ来说,有:

                                                          (3)

 

 那么如何证明(3)呢?

这个证明步骤十分简洁。假设x*是原问题(1)中的最优解,也就是f(x*) = p*。

 最后两行的推导是考虑到x*是在可行域R内的,所以肯定有,当然前提是λ≥0,这也就是为什么在一开始要做这个规定的原因了。

 

 我们如何理解这个不等式(3)呢?下面给出两个直观的解释:

 

解释一:线性逼近的解释

 

我们首先重写问题(1),就是把问题(1)换个更加紧凑的方式来表达,首先我们定义示性函数:

同样我们也可以定义另外一个示性函数:

有了这两个示性函数的帮助,现在我们可以把问题(1)重新写成一个没有约束的形式:

             (4)

我们来看看这个优化问题(4)和问题(1)是等价的么?我们可以把(4)的后面两大项看做是对违反约束条件的x的惩罚函数。起的作用是对违反不等式约束的x进行“无限的”惩罚,也就一旦,惩罚就等于无穷大。而起的作用是对违反等式约束的x进行惩罚,一旦,惩罚就为无穷大。这样对(4)中目标函数的优化跟对(1)中目标函数在约束条件下的优化就是同一回事,是不是?也就是说(1)和(4)这两个问题是等价的问题,但是在(4)中约束被融合到目标函数中来了。

 

现在我们再回头看看(2),也就是拉格朗日对偶函数,它也是个优化问题,我们对比它所优化的函数和(4)中所优化的函数,把它们重写在一起:

                       (2)中的目标函数

                   (4)中的目标函数

可见在问题(2)和问题(4)中,我们优化的目标函数区别在于惩罚项不同,(4)中的惩罚项是无限的,就是说一旦违反约束,就施加无穷大的惩罚;而在(2)中我们的惩罚项是线性的,就是说随着gi(x)和hi(x)的不同,惩罚项是线性变化的。所以(2)和(4)中需要优化的目标函数有很大的不同,用(2)来逼近(4)是很不准确的。但是我们可以看出,对于任意的u,任意的λ≥0和任意的μ来说都有:

   (我们把λ限制为大于等于0了)

所以在任意点,(2)中的目标函数的值都是小于(4)中的目标函数的值,所以(2)中找到的最优值肯定是小于(4)中找到的最优值的。再结合前面说的(1)和(4)是等价的问题,所以不等式(3)是成立的。

 

 

解释二:交换max和min的次序

 

我们首先可以看出:

为什么会有这个结果呢?当x满足约束的时候,也就是对所有的i来说有并且,如果我们想通过调整λμ变大怎么办呢?只有让λ全部为0(注意λ只能大于等于0),这样就消去了小于0的项,至于,无论μ怎么变都是没有影响的。所以当x属于可行域的时候上式的结果是f(x)。如果x违反了约束呢?在做sup运算的时候只需要对满足的项对应的乘子定为+∞,而把其他的项对应的乘子设为0,就可以让整个式子的结果变为无穷大。

所以我们可以看出来,在问题(1)中的带约束的优化问题和直接优化是一回事,也就是说:

 

现在我们把inf和sup两个运算符调换次序,显然有:

我们重写(2)式:

               (2)

可以看出结论了,也就是λ≥0时(3)式成立:

                                                          (3)

 

 

好了,费了半天的劲我们说明了一个问题,就是不等式(3)是怎么来的。

总结一下,不等式(3)用文字叙述就是:

如果我们把拉格朗日函数看做是x的函数,然后取下确界(注意:是在整个定义域里取下确界,而不是仅仅在可行域里取值,也就是说取下确界时对x是没有约束的),那么得到的结果就是原优化问题(1)的最优值的一个下界。

 

至于我们得到这个结果有什么用,下节再说。

 

 

 

 

 

你可能感兴趣的:(机器学习,优化,function)