问题引入

max f(x, y)

s.t.

g(x,y) <= 0

几何解释

a.  g(x ,y) <= 0为上图中z = 0平面中的圆,圆的边表示g(x, y) = 0,圆的内部表示g(x, y) < 0。

b.  z = f(x, y)为上图中的曲面。

上述极值问题就是要求当点(x, y)落在圆内时(包括圆的边),f(x, y)的最大值。

1、    如果极值点在圆内,则显然有

f'(x, y) = 0

g(x, y) < 0

2、    如果极值点在圆边上,有拉格朗日乘子法我们知道

f’(x, y) + λg’(x ,y) = 0

g(x, y) = 0

如果是数学考试,我们直接求出上面两种情况的所有解(x, y),再带入f(x, y)计算,选取最大值即可。

对偶问题

稍微修改一下文章开头的极值问题,得到新的极值问题1

min f(x, y)

s.t.

g(x,y) <= 0

拉格朗日函数如下

F(x, y, λ) = f(x, y) + λg(x, y)

我们对x, y求导数并令其为0,即

F’(x, y, λ) = f’(x, y) + λg’(x, y) = 0

场景1等价于

F’(x, y, λ) = 0

g(x, y) < 0

λ = 0

场景2等价于

F’(x, y, λ) = 0

g(x, y) = 0

λ > 0

场景二极小值点在圆边上,如果此时f(x, y)与g(x, y)梯度方向相同,说明点(x ,y)往圆内移动,f(x, y)的值会和g(x, y)的值一样减小,显然此时圆边上的点(x, y)不是极小值点。所以如果f(x, y)的极小值点在圆边上,必然f(x, y)与g(x, y)梯度方向相反,即λ > 0。

综合上述两种情况,极值问题1的对偶问题2如下(对偶问题解决了,原问题也就解决了)

max F(x, y, λ) = f(x, y) + λg(x, y)

s.t.

g(x, y) <= 0

λ >= 0

λg(x, y) = 0

点(x, y)在圆圈g(x, y) <= 0内,对于λ >= 0,我们有F(x, y, λ) <= f(x, y),于是F(x, y, λ)的上界就是f(x, y)的下界。

我们把

g(X) <= 0

λ >= 0

λg(X) = 0

称作KKT条件。X表示向量(x1; x2; …; xn)。

KKT条件原理的更多相关文章

  1. 机器学习——支持向量机(SVM)之拉格朗日乘子法,KKT条件以及简化版SMO算法分析

    SVM有很多实现,现在只关注其中最流行的一种实现,即序列最小优化(Sequential Minimal Optimization,SMO)算法,然后介绍如何使用一种核函数(kernel)的方式将SVM ...

  2. PRML读书会第七章 Sparse Kernel Machines(支持向量机, support vector machine ,KKT条件,RVM)

    主讲人 网神 (新浪微博: @豆角茄子麻酱凉面) 网神(66707180) 18:59:22  大家好,今天一起交流下PRML第7章.第六章核函数里提到,有一类机器学习算法,不是对参数做点估计或求其分 ...

  3. 关于拉格朗日乘子法和KKT条件

    解密SVM系列(一):关于拉格朗日乘子法和KKT条件 标签: svm算法支持向量机 2015-08-17 18:53 1214人阅读 评论(0) 收藏 举报  分类: 模式识别&机器学习(42 ...

  4. 带约束优化问题 拉格朗日 对偶问题 KKT条件

    转自:七月算法社区http://ask.julyedu.com/question/276 咨询:带约束优化问题 拉格朗日 对偶问题 KKT条件 关注 | 22 ... 咨询下各位,在机器学习相关内容中 ...

  5. 机器学习之支持向量机(三):核函数和KKT条件的理解

    注:关于支持向量机系列文章是借鉴大神的神作,加以自己的理解写成的:若对原作者有损请告知,我会及时处理.转载请标明来源. 序: 我在支持向量机系列中主要讲支持向量机的公式推导,第一部分讲到推出拉格朗日对 ...

  6. 支持向量机(SVM)必备概念(凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件、KKT条件)

    SVM目前被认为是最好的现成的分类器,SVM整个原理的推导过程也很是复杂啊,其中涉及到很多概念,如:凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件.KKT条件还有 ...

  7. 04-拉格朗日对偶问题和KKT条件

    04-拉格朗日对偶问题和KKT条件 目录 一.拉格朗日对偶函数 二.拉格朗日对偶问题 三.强弱对偶的几何解释 四.鞍点解释 4.1 鞍点的基础定义 4.2 极大极小不等式和鞍点性质 五.最优性条件与 ...

  8. 【整理】深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

    在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法.在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 ...

  9. 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

    [整理]   在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法.在有等式约束时使用拉格朗日乘子法,在有 ...

随机推荐

  1. es调用脚本

    1.内部脚本("script" : "ctx._source" 是内部定义好的获取_source数据的方式,不用改变)POST /index/type/id/_ ...

  2. 对集合类的属性进行kvo观察

    在进行容器对象操作时,先调用下面方法通过key或者keyPath获取集合对象,然后再对容器对象进行add或remove等操作时,就会触发KVO的消息通知了. - (NSMutableArray *)m ...

  3. 教你一步步composer安装Magento2.3

    以前外贸建站一直用zencart,这段时间ytkah比较有时间,就决定用magento来创建一下站点.magento不像普通的程序一样下载就可以直接安装,需要借助composer安装,还没没compo ...

  4. UIDatePicker封装

    #import <UIKit/UIKit.h> #import <objc/runtime.h> @protocol datePickerViewDelegate <NS ...

  5. 20180409 Code First

    many people use DB First,Today I see Code First.  这部分,百度上面有更多详细的资料,虽然不明白Migrations内部的机制,但是还是可以记录一下 打 ...

  6. mui项目中如何使用原生JavaScript代替jquery来操作dom

    最近在用mui写页面,当然了在移动App里引入jq或zepto这些框架,肯定是极不理性的.原生JS挺简单,为何需要jq?jq的成功当时是因为ie6.7.8.9.10.chrome.ff这些浏览器不兼容 ...

  7. Windos上生成密钥,以及添加到GIT

    1.下载git //进入官网下载git; https://git-scm.com/download/win 2.配置本地信息 git config --g user.name "wbiokr ...

  8. vue中使用promise

    init1(){ return new Promise((resolve, reject) => { let data={ dateStr:this.time }; api.get('url', ...

  9. RabbitMQ -- unacked

    RabbitMQ解决大量unacked问题 为了快速响应用户请求,我们需要消息异步处理机制,比较简单的做法是用redis的List结构,我们项目使用更专业的RabbitMQ.关于redis和Rabbi ...

  10. Swagger Editor Linux安装(全新环境)

    查看内核版本 cat /proc/version cat /etc/redhat-release 查看系统是32位还是64位方法总结getconf LONG_BIT 安装相关工具 yum instal ...