谁能介绍一下Kuhn-Tucker定理

库恩一塔克尔定理(Kuhn基坑降水工程的环境效应与评价方法-Tucker theorem)数学规划的基本定理.它本12 SMO中拉格朗日乘子的启发式选择方法质上是凸数学规划的拉格朗日乘子的存在定理,可以参见“对偶理论”。

拉格朗日对偶函数_拉格朗日对偶函数怎么求拉格朗日对偶函数_拉格朗日对偶函数怎么求


拉格朗日对偶函数_拉格朗日对偶函数怎么求


一般的数学规划著作中的对于光滑函数的库恩一塔克尔定理,其实是利用原规划在局部有解的必要条件等价于一个由函数导数形成的线性规划的解,再由此而导出的.

SMO算法为什么要选两个变量

(a) 拉格朗日乘子法(Lagrange Multiplier)

SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO的资料就是他本人写的《Sequential Minimal Optimization A Fast Algorithm for Training Support Vector Machines》了。

我拜读了一下,下面先说讲义上对此方法的总结。

首先回到我们前面一直悬而未解的问题,对偶函数的优化问题:

要解决的是在参数上求值W的问题,至于和都是已知数。C由我们预先设定,也是已知数。

按照坐标上升的思路,我们首先固定除以外的所有参数,然后在上求极值。等一下,这个思路有问题,因为如果固定以外的所有参数,那么将不再是变量(可以由其他值推出),因为问题中规定了

因此,我们需要一次选取两个参数做优化,比如和,此时可以由和其他参数表示出来。这样回带到W中,W就只是关于的函数了,可解。

SMO之所以高效就是因为在固定其他参数后,对一个参数优化过程很高效。

下面讨论具体方法:

设我们选取了初始值满足了问题中的约束条件。接下来,我们固定,这样W就是和的函数。并且和满足条件:

由于都是已知固定值,因此为了方面,可将等式右边标记成实数值。

当和异号时,也就是一个为1,一个为-1时,他们可以表示成一条直线,斜率为1。如下图:

横轴是,纵轴是,和既要在矩形方框内,也要在直线上,因此

,同理,当和同号时,

然后反代入W中,得

展开后W可以表示成。其中a,b,c是固定值。这样,通过对W进行求导可以得到,然而要保证满足,我们使用表示求导求出来的,然而的,要根据下面情况得到:

这样得到后,我们可以得到的新值。

下面进入Platt的文章,来找到启发式搜索的方法和求b值的公式。

这边文章使用的符号表示有点不太一样,不过实质是一样的,先来熟悉一下文章中符号的表示。

文章中定义特征到结果的输出函数为

与我们之前的实质是一致的。

求导得到:

经过对偶后为:

s.t.

这里与W函数是一样的,只是符号求反后,变成求最小值了。和是一样的,都表示第i个样本的输出结果(1或-1)。

经过加入松弛变量后,模型修改为:

由公式(7)代入(1)中可知,

这个过程和之前对偶过程一样。

重新整理我们要求的问题为:

与之对应的KKT条件为:

这个KKT条件说明,在两条间隔线外面的点,对应前面的系数为0,在两条间隔线里面的对应为C,在两条间隔线上的对应的系数在0和C之间。

将我们之前得到L和H重新拿过来:

之前我们将问题进行到这里,然后说将用表示通常我们需要求解的化问题有如下几类:后代入W中,这里将代入中,得

这里的和代表某次迭代前的原始值,因此是常数,而和是变量,待求。公式(24)中的一项是常数。

由于和满足以下公式

因为的值是固定值,在迭代前后不会变。

那么用s表示,上式两边乘以时,变为:

代入(24)中,得

这时候只有是变量了,求导

如果的二阶导数大于0(凹函数),那么一阶导数为0时,就是极小值了。

设其二阶导数为0(一般成立),那么上式化简为:

将w和v代入后,继续化简推导,得(推导了六七行推出来了)

我们使用来表示:

通常情况下目标函数是正定的,也就是说,能够在直线约束方向上求得最小值,并且。

那么我们在(30)两边都除以可以得到

与之前提到的一样不是最终迭代后的值,需要进行约束:

那么

在特殊情况下,可能不为正,如果核函数K不满足Mercer定理,那么目标函数可能变得非正定,可能出现负值。即使K是有效的核函数,如果训练样本中出现相同的特征x,那么仍有可能为0。SMO算法在不为正值的情况下仍有效。为保证有效性,我们可以推导出就是的二阶导数,,没有极小值,最小值在边缘处取到(类比),时更是单调函数了,最小值也在边缘处取得,而的边缘就是L和H。这样将和分别代入中即可求得的最小值,相应的还是也可以知道了。具体计算公式如下:

至此,迭代关系式出了b的推导式以外,都已经推出。

b每一步都要更新,因为前面的KKT条件指出了和的关系,而和b有关,在每一步计算出后,根据KKT条件来调整b。

b的更新有几种情况:

来自罗林开的ppt

这里的界内指,界上就是等于0或者C了。

和对于有的KKT条件推出。

这样全部参数的更新公式都已经介绍完毕,附加一点,如果使用的是线性核函数,我们就可以继续使用w了,这样不用扫描整个样本库来作内积了。

w值的更新方法为:

根据前面的

公式推导出。

终于到了一个问题了,所谓的启发式选择方法主要思想是每次选择拉格朗日乘子的时候,优先选择样本前面系数的作优化(论文中称为样例),因为在界上(为0或C)的样例对应的系数一般不会更改。

这条启发式搜索方法是选择个拉格朗日乘子用的,比如前面的。那么这样选择的话,是否会收敛。可幸的是Osuna定理告诉我们只要选择出来的两个中有一个违背了KKT条件,那么目标函数在一步迭代后值会减小。违背KKT条件不代表,在界上也有可能会违背。是的,因此在给定初始值=0后,先对所有样例进行循环,循环中碰到违背KKT条件的(不管界上还是界内)都进行迭代更新。等这轮过后,如果没有收敛,第二轮就只针对的样例进行迭代更新。

在个乘子选择后,第二个乘子也使用启发式方法选择,第二个乘子的迭代步长大致正比于,选择第二个乘子能够化。即当为正时选择负的的,反之,选择正值的。

的收敛条件是在界内()的样例都能够遵循KKT条件,且其对应的只在极小的范围内变动。

至于如何写具体的程序,请参考John C. Platt在论文中给出的伪代码。

13 总结

这份SVM的讲义重点概括了SVM的基本概念和基本推导,中规中矩却又让人醍醐灌顶。起初让我最头疼的是拉格朗日对偶和SMO,后来逐渐明白拉格朗日对偶的重要作用是将w的计算提前并消除w,使得优化函数变为拉格朗日乘子的单一参数优化问题。而SMO里面迭代公式的推导也着实让我花费了不少时间。

对比这么复杂的推导过程,SVM的思想确实那么简单。它不再像logistic回归一样企图去拟合样本点(中间加了一层sigmoid函数变换),而是就在样本中去找分隔线,为了评判哪条分界线更好,引入了几何间隔化的目标。

之后所有的推导都是去解决目标函数的化上了。在解决化的过程中,发现了w可以由特征向量内积来表示,进而发现了核函数,仅需要调整核函数就可以将特征进行低维到高维的变换,在低维上进行计算,实质结果表现在高维上。由于并不是所有的样本都可分,为了保证SVM的通用性,进行了软间隔的处理,导致的结果就是将优化问题变得更加复杂,然而惊奇的是松弛变量没有出现在的目标函数中。的优化求解问题,也被拉格朗日对偶和SMO算法化解,使SVM趋向于完美。

拉格朗日乘子法和KKT条件

原始的优化问题为:

首先,拉格朗日乘子法和kkt条件都是解决数学中化问题的方法。什么时候会用到这种方法呢?

比如,求解函数 ,直接求 关于x的一阶导数,让一阶导数为0,便得到 取最小值时的解为1。但要是x有限制条件呢?那么就会用到上面的两种方法。

一、限制条件为等式

这是一个有等式约束的优化问题,如果不借助其他工具是不是很难求解,尤其是 或g(x,y)都比较复杂的情况下。拉格朗日乘子法将这个问题转化成了无约束问题,那么就可以用求偏导的方法去求解。拉格朗日函数为:

求 分别关于 的偏导(没有找到偏导符号,用d代替):

那么为什么这样做呢?即 取极值时的解是否就是 的解呢?其实在等式约束条件这里是非常容易理解的,因为 的后半分 恒等于0,那么自然 和 的解是一致的。

从另一个角度来看,下图是对原问题的几何描述,只有当 和 的切线重合的时候,原问题能够取得解。那么在切点的梯度有

那么限制条件为不等式呢?下面来看

二、限制条件为不等式

当解问题是:

那么如果同样用拉格朗日函数将上前面两个的公式推导可以根据述有约束问题化解为无约束问题,是否可以直接通过求 分别关于 的偏导,令偏导数为0来获得解呢?是不能。为什么不能呢?看下图就明白了:

所以我们采用广义拉格朗日乘子法,先求 关于乘子的,再求关于x,y的最小。原始问题的拉格朗日函数为:

这个问题很难求解,所以想要将问题转化为原问题的对偶问题:

那么原问题和对偶问题的解是否等价呢?

当 满足上述的kkt条件时,对偶问题的解就是原始问题的解。当约束如图1所示,那么 ;当约束如图2所示,实际上约束已经不起作用,那么 。

支持向量机的基本原理是什么?

支持向量机回归分为线性回归和非线性回归,其原理如下:

设样本集为:(x1,y1),…,(xi,yi),x∈Rn,y∈R,回归函数用下列线性方程来表示:

f(x)=w·x+b(4.14)

设所有训练数据在ε精度下如图4.5所示无误地用线性函数拟合,即

图4.5支持向量机回2、从而将我们的优化目标函数转换为:归

考虑到允许误的情况,引入松弛因子ξi,

,则式(4.13)变为

其中常数C>0,表示对超出误ε的样本的惩罚程度,ξi,

为松弛变量的上限与下限。为此构造拉格朗日函数:

得到其对偶问题为:

可以得到回归函数为:

其中,αi,

将只有一小部分小为零,它们对应的样本就是支持为什么要这么求能得到值?先说拉格朗日乘子法,设想我们的目标函数z = f(x), x是向量, z取不同的值,相当于可以投影在x构成的平面(曲面)上,即成为等高线,如下图,目标函数是f(x, y),这里x是标量,虚线是等高线,现在设我们的约束g(x)=0,x是向量,在x构成的平面或者曲面上是一条曲线,设g(x)与等高线相交,交点就是同时满足等式约束条件和目标函数的可行域的值,但肯定不是值,因为相交意味着肯定还存在其它的等高线在该条等高线的内部或者外部,使得新的等高线与目标函数的交点的值更大或者更小,只有到等高线与目标函数的曲线相切的时候,可能取得值,如下图所示,即等高线和目标函数的曲线在该点的法向量必须有相同方向,所以值必须满足:f(x)的梯度 = a g(x)的梯度,a是常数,表示左右两边同向。这个等式就是L(a,x)对参数求导的结果。(上述描述,我不知道描述清楚没,如果与我物理位置很近的话,直接找我,我当面讲好理解一些,注:下图来自wiki)。向量。

(2)支持向量机非线性回归

以上讨论的是线性问题,对于非线性问题,把输入样本xi通过ψ:x→H映射到高维特征空间H(可能是无穷维)。当在特征空间中构造超平面时,实际上只需进行内积运算,而这种内积运算是可以用原空间中的函数来实现的,没有必要知道ψ的形式。因为只要核函数K(xi,xj)满足Mercer条件,它就对应某一变换空间的内积即K(xi,xj)=ψ(i)·ψ(xj)。这一点提供了可能导致的“维数灾难”问题解决方法。

由线性支持向量回归可知,二次规划的拉格朗日目标函数:

其对偶形式:

可以得到回归函数为:

03 SVM - KKT条件

意思是,步选取一对和,选取方法使用启发式方法(后面讲)。第二步,固定除和之外的其他参数,确定W极值条件下的,由表示。

02 SVM - 拉格朗日乘子法

回顾上章,原始问题与对偶问题的关系:

结论:

1、对偶问题小于等于原始问题。

2、当函数满足KKT条件的时候,对偶问题=原始问题。

这章开始介绍KKT条件。

KKT条件是泛拉格朗日乘子法的一种形式;主要应用在当我们的优化函数存在不等值约束的情况下的一种化求解方式;KKT条件即满足不等式约束情况下的条件。

回顾 不等式约束的定义:

1、可行解必须在约束区域g(x)之内,由图可知可行解x只能在g(x)<0和g(x)=0的区域取得;

(1) 当可行解x在g(x)<0的区域中的时候,此时直接极小化f(x)即可得到;

(2) 当可行解x在g(x)=0的区域中的时候,此时直接等价于等式约束问这里我们使用表示优化后的值,是迭代前的值,。题的求解。

2、当可行解在约束内部区域的时候,令β=0即可消去约束。

3、 对于参数β的取值而言,在等值约束中,约束函数和目标函数的梯度只要满足平行即可,而在不等式约束中,若β≠0,则说明可行解在约束区域的边界上,这个时候可行解应该尽可能的靠近无约束情况下的解,所以在约束边界上,目标函数的负梯度方向应该远离约束区域朝无约束区域时的解,此时约束函数的梯度方向与目标函数的负梯度方向应相同;从而可以得出β>0。

1、拉格朗日取得可行解的充要条件;

2、将不等式约束转换后的一个约束,称为松弛互补条件;

3、初始的约束条件;

4、 初始的约束条件;

5.、不等式约束需要满足的条件;

04 SVM - 感知器模型

高等代数理论基础70:对偶空间

传统的拟合方法通常是在线性方程后面加高阶项。由此增加的可调参数增加了过拟合的风险。支持向量回归用核函数即能作非线性回归,达到了“升维”的目的,增加的可调参数很少,过拟合仍能控制。

可用自然的方法在 上定义加法和数量乘法

其中

设f,g是V的两个线性函数,定义f+g

f+g也是线性函数

f+g称为f与g的和

设f是V上线性函数, ,定义kf

kf称为k与f的数量乘积,易证kf也是线性函数

在上述定义的加法和数量乘法下, 成为数域P上的线性空间

取定V的一组基 ,作 上n个线性函数 ,使得

在基 上的值已确定,这样的线性函数存在且

对V中向量 ,有 ,即 是 的第i个坐标的值

引理: ,有 , ,有

定理: 的维数等于V的维数,且 是 的一组基

证明:

定义: 称为V的对偶空间,由 决定的 的基,称为 的对偶基

V的对偶空间简记作

例:考虑实数域R上的n维线性空间 ,对任意取定的n个不同实数 ,由拉格朗日插值公式,得到n个多项式

它们满足

是线性无关的

又V是n维的,故 是V的一组基

设 是在 点的取值函数

则线性函数 满足

故 是 的对偶基

V的两组基的对偶基之间的关系

设V是数域P上一个n维线性空间, 及 是V的两组基,它们的对偶基分别为 及

设其中

由设,

由矩阵乘法定义,

故定理:设 及 是线性空间V的两组基,它们的对偶基分别为 及 ,若由 到 的过渡矩阵为A,则由 到 的过渡矩阵为

由线性函数的定义,易证 是 上的一个线性函数,故是 的对偶空间 中的一个元素

定理:V是一个线性空间, 是V的对偶空间的对偶空间, 到 的映射 是一个同构映射

证明:

注:定理说明,线性空间V也可看成 的线性函数空间,V与 实际上是互为线性函数空间

此即对偶空间名词的由来

故任一线性空间都可看成某个线性空间的线性函数所成的空间

07 SVM - 软间隔模型

这就是kkt条件中个条件:L(a, b, x)对x求导为零。

之前两章介绍的内容是硬间隔模型:

《 05 SVM - 支持向量机 - 概念、线性可分 》

《 06 SVM - 线性可分SVM算法和案例 》

线性可分SVM中要求数据必须是线性可分的,才可以找到分类的超平面,但是有的时候线性数据集中存在少量的异常点,由于这些异常点导致了数据集不能够线性划分;直白来讲就是:正常数据本身是线性可分的,但是由于存在异常点数据,导致数据集不能够线性可分;

如果线性数据中存在异常点导致没法直接使用SVM线性分割模型的时候,我们可以通过引入 软间隔 的概念来解决这个问题;

硬间隔: 可以认为线性划分SVM中的距离度量就是硬间隔,在线性划分SVM中,要求函数距离一定是大于1的,化硬间隔条件为:

软间隔: SVM对于训练集中的每个样本都引入一个松弛因子(ξ),使得函数距离加上松弛因子后的值是大于等于1;这表示相对于硬间隔,对样本到超平面距离的要求放松了。

松弛因子(ξ)越大,表示样本点离超平面越近。如果松弛因子大于1,那么表示允许该样本点分错。

所以说加入松弛因子是有成本的,过大的松弛因子可能会导致模型分类错误,所以最终的目标函数就转换成:

PS: 函数中的C>0是惩罚参数,是一个超参数,类似L1/L2 norm的参数;C越大表示对误分类的惩罚越大,C越小表示对误分类的惩罚越小;C值的给定需要调参。

1、同线性可分SVM,构造软间隔化的约束问题对应的拉格朗日函数如下:

3、优化目标同样满足KKT条件,所以使用拉格朗日对偶将优化问题转换为等价的对偶问题:

4、先求优化函数对于w、b、ξ的极小值,这个可以通过分别对优化函数L求w、b、ξ的偏导数得,从而可以得到w、b、ξ关于β和μ之间的关系。

5、将w、b、ξ的值带入L函数中,就可以消去优化函数中的w、b、ξ,定义优化之后的函数如下:

6、最终优化后的目标函数/损失函数和线性可分SVM模型基本一样,除了约束条件不同而已, 也就是说也可以使用SMO算法来求解。

在 硬间隔 化的时候,支持向量比较简单,就是离超平面的函数距离为1的样本点就是支持向量。

在 软间隔 中,根据KKT条件中的对偶互补条件: β(y(wx+b)-1+ξ)=0,从而有:当0<βi≤C的时候,并且ξi=0的样本点均是支持向量(即所有的0<βi

PS: 软间隔和硬间隔中设V是数域P上一个n维线性空间,V上全体线性函数组成的记作的支持向量的规则是一样的;

08 SVM - 软间隔模型算法流程

拉格朗日乘数法方程组中的值或关系式求不出来呀。

这样,根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题SMO的主要步骤如下:

拉格朗日乘数法方程组中的值或关系式求不出来呀。

拉格朗日乘数法是一种非常常用的优化方法,它可以将原始问题转化为一个新的对偶问题,通过求解该对偶问题来找到原始问题的解。具体而言,就是将原始函数中不等式约束条件替换成相应的乘子表达式(即Lagrange multipliers),然后在此基础上写出一个新的函数作为目标函数。因此要想求得不等式方程中的值或者关系式并不能直接使用拉格朗日乘数法。必须先将该不等式方程归分分成多个子问题,然后再采用诸如牛顿迭代、二分法、半正定性测试之外的其他传递方法来近似地得到所要求的值或者关系式。

支持向量机(2)

(1)支持向量机线性回归

简单的说,支持向量机就是通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔的线性分类器,即支持向量机的学习策略便是间隔化,最终可转化为一个凸二次规划问题的求解。(引自刘知行)

设给定一个训练数据集 。同时,定已经找到样本空间中的分割平面,其划分公式可以通过以下线性方程来描述: 使用一条直线对线性可分数据集进行分类的过程中,我们已经知道这样的直线可能有很多条:

对于线性可分的正负样本点而言,位于 虚线外的点就是正样本点,而位于 虚线外的点就是负样本点。另外,正好位于两条虚线上方的样本点就被我们称为支持向量,这也就是支持向量机的名字来源。

对于线性可分数据而言,几何间隔的分离超平面是的,这里的间隔也被我们称之为「硬间隔」,而间隔化也就称为硬间隔化。上图实际上就是硬间隔的典型例子。

间隔分离超平面,我们希望化超平面 关于训练数据集的几何间隔 ,满足以下约束条件:每个训练样本点到超平面 的几何间隔至少都是 ,因此可以转化为以下的约束化问题:

实际上, 的取值并不会影响化问题的解,同时,我们根据数学对偶性原则,可以得到面向硬间隔的线性可分数据的支持向量机的化问题:

我们通常使用拉格朗日乘子法来求解化问题,将原始问题转化为对偶问题,通过解对偶问题得到原始问题的解。对公式(3)使用拉格朗日乘子法可得到其「对偶问题」。具体来说,对每条约束添加拉格朗所以这里我们引入KKT条件, 同时是原始问题和对偶问题的解的充分必要条件就是满足以下条件:日乘子 ,则该问题的拉格朗日函数可写为:

我们通过将公式(4)分别对 和 求偏导为 0 并代入原式中,可以将 和 消去,得到公式(3)的对偶问题:

解出解 后,基于此我们可以求得解 , ,由此得到分离超平面:

使用符号函数求得正负类之间的分类决策函数为:

当数据集变成严格意义上的线性不可分,如下图所示,在实心点和空心点中各混入了零星的不同类别的「噪声」数据点,造成线性不可分的原因往往是因为包含「噪声」数据,它同样可以被看作是不严格条件下的线性可分。

当我们使用支持向量机求解这类问题时,就会把间隔称之为「软间隔」,而软间隔就意味着可以容许零星噪声数据被误分类。

当出现上图所示的样本点不是严格线性可分的情况时,某些样本点 就不能满足函数间隔 的约束条件,即公式(3b)中的约束条件。为了解决这个问题,可以对每个样本点 引入一个松弛变量 ,使得函数间隔加上松弛变量 ,即约束条件转化为:

同时,对每个松弛变量 支付一个代价 ,目标函数由原来的 变成:

这里, 称为惩罚参数,一般根据实际情况确定。 值越大对误分类的惩罚增大,化问题即为:

这就是软间隔支持向量机的表示过程。同理,我们可以使用拉格朗日乘子法将其转换为对偶问题求解:

解出解 后,基于此我们可以求得解 , ,由此得到分离超平面:

使用符号函数求得正负类之间的分类决策函数为:

对于线性不可分的数据集,我们也可以通过支持向量机去完成分类。但是需要通过一些方法把线性不可分数据转换为线性可分数据之后,再完成分类。

我们把这种数据转换的方法称作「核技巧」,实现数据转换的函数称之为「核函数」 。

核技巧的关键在于空间映射,即将低维数据映射到高维空间中,使得数据集在高维空间能被线性可分。

如上图所示,设我们在二维空间中有蓝色和红色代表的两类数据点,很明显无法使用一条直线把这两类数据分开。此时,如果我们使用核技巧将其映射到三维空间中,就变成了可以被平面线性可分的状态。

对于「映射」过程,我们还可以这样理解:分布在二维桌面上的红蓝小球无法被线性分开,此时将手掌拍向桌面(好疼),小球在力的作用下跳跃到三维空间中,这也就是一个直观的映射过程。

同时,「映射」的过程也就是通过核函数转换的过程。这里需要补充说明一点,那就是将数据点从低维度空间转换到高维度空间的方法有很多,但往往涉及到庞大的计算量,而数学家们从中发现了几种特殊的函数,这类函数能大大降低计算的复杂度,于是被命名为「核函数」。也就是说,核技巧是一种特殊的「映射」技巧,而核函数是核技巧的实现方法。

此外,核函数还可以通过函数组合得到,例如:

若 和 是核函数,那么对于任意正数 ,其线性组合:

我们通过直接引入核函数 ,而不需要显式的定义高维特征空间和映射函数,就可以利用解线性分类问题的方法来求解非线性分类问题的支持向量机。引入核函数以后,对偶问题就变为:

同样,解出解 后,基于此我们可以求得解 , ,由此得到分离超平面:

使用符号函数求得正负类之间的分类决策函数为:

主要参数说明:

ALM算法和ADMM算法之间的区别

,然后我们打算将用表示:

首先从拉格朗日说起,拉格朗日函数是将条件合并入目标函数的一种方法,增广拉格朗日函数是在抽样,方拉格朗日的基础上添加了一个二次惩罚项,ALM主要是针对一个变量的增广拉格朗日算法,ADMM则是针对两个变量,迭代更新,将对偶上升法和乘子法的上界收敛性合二为一的算法。