优化问题

线性规划

优化目标和约束条件都是线性的优化问题,属于线性规划,其主要解法有:

  1. 图解法
  2. 单纯形法

整数规划

在线性规划问题的基础上,可能某些问题存在必须是整数的约束,那么这就转化为整数规划问题,主要解法有:

  1. 分支定界法‘
  2. 割平面法

非线性规划

优化目标或者约束条件存在非线性的优化问题,属于非线性规划,其主要分为无约束问题和有约束问题。下面介绍几个重要的概念:

凸函数和严格凸函数
形如 f(αx1+(1α)x2)αf(x1)+(1α)f(x2) 则称之为凸函数,其中 0<α<1 ;

凸函数的极值
对于定义在凸集上的凸函数而言,其局部极值就是其全局极值。

无约束极值问题的求解方法

  1. 梯度下降法,也就是搜索方法是负梯度方法,他是使得函数值下降最快的方向。最速下降法有锯齿现像,收敛速度慢;
  2. 牛顿迭代法,牛顿法是二次收敛的,并且收敛阶数是2。一般目标函数在最优点附近呈现为二次函数,于是可以想像最优点附近用牛顿迭代法收敛是比较快的。而在开始搜索的几步,我们用梯度下降法收敛是比较快的。将两个方法融合起来可以达到满意的效果。收敛快是牛顿迭代法最大的优点,但也有致命的缺点:Hesse矩阵及其逆的求解计算量大
  3. 拟牛顿法,Hesse矩阵在拟牛顿法中是不计算的,拟牛顿法是构造与Hesse矩阵相似的正定矩阵,这个构造方法,使用了目标函数的梯度(一阶导数)信息和两个点的“位移” xkxk1 来实现。
  4. 共轭方向法,最速下降法有锯齿现像,收敛速度慢;而牛顿法需要计算Hesse矩阵而计算量大。共轭方向法收敛速度界于两者之间,具有二次收敛性。共轭方向法属于效果好而又实用的方法。由于一般目标函数在最优点附近呈现为二次函数,因此可以设想一个算法对于二次函数比较有效,就可能对一般函数也有较好效果。共轭方向法是在研究对称正定二次函数的基础上提出来的。
  5. 共轭梯度法,共轭梯度法是共轭方向法的一种延伸,初始共轭向量 P0 由初始迭代点 x0 处的负梯度 g0 来给出。以后的 Pk 由当前迭代点的负梯度与上一个共轭向量的线性组合来确定.

约束极值问题的求解方法
约束极值问题比无约束极值问题复杂得多。下面首先介绍几个重要的概念:
库恩-塔克(KT条件或者KKT条件):
首先介绍一下优化问题:
这里写图片描述
对于约束条件, hi 称之为起作用约束(有效约束),因为其处于作用域的边界,任何扰动都可以使得结果”崩溃”; gi 可以分为=和>两部分,其中=部分属于有效约束,而>属于无效约束或者不起作用约束。
假设 x0 是极值点, g(x0) x0 在有效约束下的梯度, f(x0) x0 在目标函数下的梯度(这里补充一下,梯度对于标量函数而言对应增长最快的方向,那么负梯度便对应下降最快的方向)。则下列关系必然不存在:

f(x0)D>0g(x0)D>0

即不存在一个可行下降方向,那么就存在 f(x0)=λg(x0) ,其中 λ<0
这里写图片描述
所以KKT条件就是约束条件和拉格朗日乘子等于0,即 αig(x)=0 ,当 αi=0 时,对应的样本不是支持向量,而支持向量对应的 αi=0 .

顺便插一句,承接上一篇的SVM。 非线性SVM可用经典的二次规划方法求解,但同时求解n个拉格朗日乘子涉及很多次迭代,计算开销太大。所以一般采用Sequential Minimal Optimization(SMO)算法。其基本思路是每次只更新两个乘子,迭代获得最终解。计算流程可表示如下:

 For i=1:iter

    1.根据预先设定的规则,从所有样本中选出两个
    2.保持其它拉格朗日乘子不变,更新所选样本对应的拉格朗日乘子

 End

SMO算法的优点在于,只有两个变量的二次规划问题存在解析解。关键的技术细节在于,一是在每次迭代中,怎样更新乘子;二是怎样选择每次迭代需要更新的乘子。此外求解SVM另外一种方法是LS-SVM,与SVM的关键不同是约束条件由不等式变为了等式,对应的优化问题:
这里写图片描述
不等式变为等式后,拉格朗日乘子可以通过解线性系统得到:
这里写图片描述
解线性系统远易于解二次规划问题。但相应地,绝大部分拉格朗日乘子都将不为零。也就是说,LS-SVM分类器的测试时间将长于SVM分类器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值