首页 > 编程知识 正文

最优化方法考试题,kkt条件例题求解

时间:2023-05-05 11:17:21 阅读:174293 作者:2988

最近学习优化理论,正好在机器学习中支持向量机(Support Vector Machine )和最大熵模型(Maximum Entropy Model )使用的KKT条件) ka rushKuhntucker

以前看过一些相关书籍,发现证明KKT条件并不简单,或者“数学”(除数学以外的学生可能不懂) ——不适合非数学学生的入门。 因此,整理教材、做课堂笔记、加入帮助理解的重要注释(我个人认为不“明显”)来写这篇文章,供大家学习和交流!

PS :我知道的排版有点混乱。 官吏们请不要在意:)

目录:什么是0.kkt条件

1 .等式约束优化问题(Lagrange乘数法) ) ) ) ) ) )。

2 .不等式约束的优化问题

3 .总结

什么是0.KKT条件

本文从本科高数(微积分)中条件极值的Lagrange乘数法入手,进一步推导KKT条件。 但是,在说明导出过程之前,我想先给出KKT条件。

具有等式和不等式约束的一般优化问题

kt条件给出了判断

是否为最优解的必要条件,即:

1 .等式约束优化问题(Lagrange乘数法) ) ) ) ) ) )。

关于这一部分的内容,其实本科高数课程已经学过,所以本文直接得出结论,并补充了一些我的理解和总结,它有助于理解不等式约束中的一些内容。 具体推导过程已在同济7版的高数下卷(P.116-118 )中详细描述。

什么是等式约束优化问题

我们应该

、函数

称为Lagrange函数,参数

叫做Lagrange算子。

联立方程式:

得到的解是可能极值点,我们使用了必要条件,所以具体是否是极值点需要根据问题本身的具体情况来验证。 该方程组被称为等式约束的极值必要条件。

上式我们是对的

请各求偏导,回想无约束的优化问题

那么,根据极值的必要条件分别

求出可能的极值点。 因此,可以联想到引入了等式约束下的Lagrange乘数法

我乘坐洛杉矶。 我们应该

优化变量(

称为优化变量) .相当于将优化变量的数量增加到

个,与

和同事一样,都是优化变量,要求对它们进行偏导。

2 .不等式约束的优化问题

以上讨论了等式约束的情况,接下来介绍不等式约束的优化问题。 首先,提出其主要思想。 转换后的思想——将不等式制约条件变为等式制约条件。 具体方法:引入松弛变量。 松弛变量也是优化变量,需要一视同仁地寻求偏导。

具体来说,首先看一元函数的例子:

(注:在优化问题中,必须求出确定的值,所以可以将所有不等式取为等号。 也就是说

的情况)

约束情况

分别引入两个松弛变量

按一下

.注意这里直接加上平方项

在、

而不是

在、

是理由

如果不在这两个不等式的左边加上正数,不等式就不能成为等式。 如果只是加上的话

将引入新的约束条件

这不符合我们的意愿

据此,将不等式制约转换为等式制约,得到Lagrange函数

根据等式约束优化问题(极值必

要条件)对其求解,联立方程

(注:这里的

先承认,我们待会再解释!(先上车再买票,手动斜眼)实际上对于不等式约束前的乘子,我们要求其大于等于0)

得出方程组后,便开始动手解它. 看到第3行的两式

比较简单,我们就从它们入手吧~

对于

,我们有两种情况:

情形1:

此时由于乘子

,因此

与其相乘为零,可以理解为约束

不起作用,且有

.

情形2:

此时

,可以理解为约束

起作用,且有

.

合并情形1和情形2得:

,且在约束起作用时

;约束不起作用时

.

同样地,分析

,可得出约束

起作用和不起作用的情形,并分析得到

.

由此,方程组(极值必要条件)转化为

这是一元一次的情形.类似地,对于多元多次不等式约束问题

我们有

上式便称为不等式约束优化问题的KKT(Karush-Kuhn-Tucker)条件.

称为KKT乘子,且约束起作用时

;约束不起作用时

.

别急,还木有完,我们还剩最后一个问题没有解决:为什么KKT乘子必须大于等于零——我将用几何性质来解释.

由于

用梯度表示:

为起作用约束的集合.

移项:

注意到梯度为向量. 上式表示在约束极小值点

处,函数

的负梯度一定可以表示成:所有起作用约束在该点的梯度(等值线的法向量)的线性组合.(复习课本中梯度的性质:某点梯度的方向就是函数等值线

在这点的法线方向,等值线就是地理的等高线)

为方便作图,假设现在只有两个起作用约束,我们作出图形如下图.注意我们上面推导过,约束起作用时

,所以此时约束在几何上应该是一簇约束平面.我们假设在

取得极小值点,若同时满足

,则

一定在这两个平面的交线上,且

,即

共面.

下图是在点

处沿

面的截面,过点

作目标函数的负梯度

,它垂直于目标函数的等值线

(高数课本:一点的梯度与等值线相互垂直),且指向目标函数

的最速减小方向.再作约束函数

的梯度

,它们分别垂直

两曲面在

的切平面,并形成一个锥形夹角区域.此时,可能有a、b两种情形:

我们先来看情形b:若3个向量的位置关系如b所示,即

落在

所形成的锥角区外的一侧. 此时,作等值面

在点

的切平面(它与

垂直),我们发现:沿着与负梯度

成锐角的方向移动(如下图红色箭头方向),只要在红色区域取值,目标函数

总能减小.而红色区域是可行域(

,C取不同的常数能得到不同的等值线,因此能取到红色区域),因此既可减小目标函数值,又不破坏约束条件. 这说明

仍可沿约束曲面移动而不破坏约束条件,且目标函数值还能够减小.所以

不是稳定的最优点,即不是局部极值点.

反过头来看情形a:

落在

形成的锥角内. 此时,同样作

在点

垂直的切平面. 当从

出发沿着与负梯度

成锐角的方向移动时,虽然能使目标函数值减小,但此时任何一点都不在可行区域内. 显然,此时

就是局部最优点

,再做任何移动都将破坏约束条件,故它是稳定点.

由于

在一个平面内,所以前者可看成是后两者的线性组合. 又由上面的几何分析知,

的夹角之间,所以线性组合的系数为正,有

,且

.

这就是

的原因. 类似地,当有多个不等式约束同时起作用时,要求

处于

形成的超角锥(高维图形,我姑且称之为“超”)之内.

3.总结:同时包含等式和不等式约束的一般优化问题

KKT条件(

是最优解的必要条件)为

注意,对于等式约束的Lagrange乘子,并没有非负的要求!以后求其极值点,不必再引入松弛变量,直接使用KKT条件判断!

这样,我们就推导完了KKT条件。各位看官可以自己分别罗列并比较一下:无约束优化、等式约束优化和等式+不等式约束优化条件下某点为局部最优解(极值点)的必要条件。

如果对于Lagrange对偶性感兴趣的同学,可以进一步地研究下去,这样才能较深入地掌握SVM,本人也在学习中,欢迎交流~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。