支持向量机预测模型 支持向量机( 十 )


效果等价于,令函数间隔γ=1,综上所述,零γ=1是合理的,而且也方便了原优化问题的计算。
由拉格朗日对偶(线性可分条件下SVM的对偶算法)引入核函数(非线性可分条件下SVM的算法)
上一篇说到,得到了 如下的线性可分的SVM的目标函数 ,可以利用优化包进行求解 。
此外,由于这个问题的特殊结构,还可以通过拉格朗日对偶性(Lagrange Duality)变换到对偶变量(dual variable) 的优化问题,即通过求解与原问题等价的对偶问题(dual problem)得到原始问题的最优解,这就是线性可分条件下支持向量机的对偶算法 。
引入对偶的优点:
因为 引入拉格朗日算子可以求出极值 。(参考最优化方法的解释)
这种极值问题怎么求
首先,同样定义拉格朗日公式,希望可以利用拉格朗日算子法求得最优解,得到:
但是,出现问题了,此时加入的约束条件g已经不再等于0了,所以,此时可以调整算子alpha变成很大很大的 值,使结果负无穷,这显然是不合理的 。
所以,我们需要 排除在满足条件下,也会无解的情况 。
因此,我们定义下面的函数
要看这个函数有什么优点,就要看看这个函数相比于L(ω,α,b)有什么变化: 加了max,加了α I 大于等于零 。
所以,当g和h不满足约束时,总可以调整α i 和β i 来使thetap具最大值为正无穷 。
只有当g和h满足约束时,此时g0,我们可以调整α i 和β i (使α i 等于0,β i 任意),得到最大值,即θ p =f(w) 。
于是函数等价于这样
于是原来的极值问题min f(w)就等价于求min θ p 了,
即:
也就是说,最小化 θ p ,就是为了得到最小的 f(w),而能有f(w)就说明了满足约束条件 。所以这个等价于原来的极值问题 。
至此,相比于拉格朗日公式L(ω,α,b),现在即加入了拉格朗日算子,又排除了纯粹的拉格朗日公式中出现无穷的情况 。
但是,又出现了新的问题,也就是,如果直接求解,首先面对的就是两个参数(最里面的是max,这个max问题有两个参数),而且alpha也是不等式约束,再在w上求最小值,这个过程并不容易做 。那么应该怎么办呢?
在最优化课程里,当遇到不好解的优化问题时,可以转化为原问题的对偶问题试试 。
此处,d代表对偶 。D--dual
我们定义函数
θ D将问题转化为先求L(ω,α,b)关于 ω 的最小值(此时α和β是固定值),之后再求θ D的最大值 。上来面对的是一个参数,相对简单些 。
相对于原问题,更换了min和max的顺序,得到了它的对偶问题 。
--------------------------------------------------------------------------------------------------------------
一般的更换顺序的结果是MaxMin(X) = MinMax(X) 。也就是,此时有
对偶问题已经表示出来了,这个对偶问题也相对原问题好求,那么,这两个问题等价吗?或者说,对偶问题的解是不是原问题的解呢?
需要用KKT条件来判断了 。
对于拉格朗日算子的深入理解可以看看《最优化方法》,讲义的最后一页 。
含有不等式约束的问题,常常 用KKT条件求得候选最优解
对于一般化的拉格朗日公式:
最优值 w 必须满足以下三个条件:
----------1、L对 w 求导为零
【支持向量机预测模型 支持向量机】----------2、h(w)=0
----------3、α i g i =0 ,i = 1,...,k
注意此时
第三个条件表明了KKT的思想:极值会在可行域边界取得 。----解释:
-----对于一个特定的自变量w1,当自变量w1在 第 i 个 可行域边界(g i (w1)=0)时,说明此时这个约束是起到了作用的 。这个约束是w1被g i 约束了 。此时只能到g i 的平面上(即边界),再多就出界了 。。。而对于最优解来说,就是f(w)达到最优,所以L中,除了f(w)部分,其余应该都等于0,所以此时α0(或许等于零也可以?疑问)
----而此时,w1在其他的约束条件g 非i 下,有g 非i (w1)0),说明W1可以随意些,说明此时这个约束并没有起到作用,但是作为最优解,为了 除了f(w)部分,其余应该都等于0 ,所以其系数α应该等于零 。
----------------------------------------------------------------------------------------
注意:这个是传统最优化问题的一般式,这个问题有k个不等式约束方程,所有的点都要满足这k个不等式约束 。。假设有一百个样本点,只有有三个极值N1,N2,N3,那么说明其余97个点带入这k个方程中去都会小于零 。另外对于这三个极值点,可能会有g i (N1) = 0,除了第i个g以外,g(N1)都小于0。然后对于极值N2,g j (N2)=0,除了第j个约束以外,其余的g(N2)都小于0 。

秒懂生活扩展阅读