参考:知乎回答 - 通过山头形象描述

参考:马同学 - 如何理解拉格朗日乘子法?

参考: 马同学 - 如何理解拉格朗日乘子法和KKT条件?

参考:拉格朗日乘数 - Wikipedia


自己总结的规律

  • 梯度为0, 其实就是说明里面每一个参数的偏导数都为0.
  • 拉格朗日乘子法是对于等式约束.
  • KKT条件是针对不等式约束条件.

拉格朗日乘子法结论

  如果有个约束等式:

  

  只需解如下方程组:

  

KKT条件

  求如下的极值:

  

  通过解下面这个方程组来得到答案:

  

  这个方程组也就是所谓的KKT条件。
  进一步解释下方程组的各个项:

说明:  最难理解的是$\mu_j h_j = 0$, 
  • 根据左图, 此时的最小值在$f$函数的最小值点取得, 因此 $\mu_j=0$, 此时$h_j ≤0$
  • 根据右图, 此时的最小值在两者相切的地方取得, 因此 $\mu_j≥0$, 此时$h_j =0$
  

参考: 马同学博客~


按照相应的相切概念会得到下面的式子,即两者具有等比例的剃度值。

$$\nabla f(x,y)+\lambda \nabla g(x,y)=0 \tag{1}$$

如何上面的式子转为拉格朗日乘子法的一般形式,即

$$\mathcal{L}(x,y,\lambda)=f(x,y)+\lambda \cdot g(x,y) \tag{2}$$

并且是对于三个变量的偏导数为0,下面我从(1)到(2)的理解.

由(1)可得

$\nabla_x f(x,y)+\lambda \nabla_x g(x,y)=0$

$\nabla_y f(x,y)+\lambda \nabla_y g(x,y)=0$

$\nabla_x (f(x,y)+\lambda\nabla_x g(x,y))=\nabla_x\mathcal{L}(x,y,\lambda)=0 \tag{a}$

$\nabla_y (f(x,y)+\lambda\nabla_y g(x,y))=\nabla_y\mathcal{L}(x,y,\lambda)=0 \tag{b}$

而下面的式子等于0则限制了$g(x,y)=0$

$\nabla_\lambda\mathcal{L}(x,y,\lambda)=g(x,y)=0 \tag{c}$

也就是说明,(2)式在(a)(b)(c)三个式子下可以达到(1)式的效果.此时存在下面的表达式,所以等价,两者有一样的极值.

$$\mathcal{L}(x,y,\lambda)=f(x,y)$$

【365】拉格朗日乘子法与KKT条件说明的更多相关文章

  1. 拉格朗日乘子法与KKT条件 && SVM中为什么要用对偶问题

    参考链接: 拉格朗日乘子法和KKT条件 SVM为什么要从原始问题变为对偶问题来求解 为什么要用对偶问题 写在SVM之前——凸优化与对偶问题 1. 拉格朗日乘子法与KKT条件 2. SVM 为什么要从原 ...

  2. 关于拉格朗日乘子法与KKT条件

    关于拉格朗日乘子法与KKT条件 关于拉格朗日乘子法与KKT条件   目录 拉格朗日乘子法的数学基础 共轭函数 拉格朗日函数 拉格朗日对偶函数 目标函数最优值的下界 拉格朗日对偶函数与共轭函数的联系 拉 ...

  3. 【机器学习之数学】03 有约束的非线性优化问题——拉格朗日乘子法、KKT条件、投影法

    目录 1 将有约束问题转化为无约束问题 1.1 拉格朗日法 1.1.1 KKT条件 1.1.2 拉格朗日法更新方程 1.1.3 凸优化问题下的拉格朗日法 1.2 罚函数法 2 对梯度算法进行修改,使其 ...

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

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

  5. 装载:关于拉格朗日乘子法与KKT条件

    作者:@wzyer 拉格朗日乘子法无疑是最优化理论中最重要的一个方法.但是现在网上并没有很好的完整介绍整个方法的文章.我这里尝试详细介绍一下这方面的有关问题,插入自己的一些理解,希望能够对大家有帮助. ...

  6. 约束优化方法之拉格朗日乘子法与KKT条件

    引言 本篇文章将详解带有约束条件的最优化问题,约束条件分为等式约束与不等式约束,对于等式约束的优化问题,可以直接应用拉格朗日乘子法去求取最优值:对于含有不等式约束的优化问题,可以转化为在满足 KKT ...

  7. 拉格朗日乘子法以及KKT条件

    拉格朗日乘子法是一种优化算法,主要用来解决约束优化问题.他的主要思想是通过引入拉格朗日乘子来将含有n个变量和k个约束条件的约束优化问题转化为含有n+k个变量的无约束优化问题. 其中,利用拉格朗日乘子法 ...

  8. 拉格朗日乘子法与KKT条件

    拉格朗日乘子法 \[min \quad f = 2x_1^2+3x_2^2+7x_3^2 \\s.t. \quad 2x_1+x_2 = 1 \\ \quad \quad \quad 2x_2+3x_ ...

  9. 机器学习——最优化问题:拉格朗日乘子法、KKT条件以及对偶问题

    1 前言 拉格朗日乘子法(Lagrange Multiplier)  和 KKT(Karush-Kuhn-Tucker)  条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子法,在有不等 ...

随机推荐

  1. 加入域的计算机重定向到指定的OU

    在我曾经呆过一个企业里,我们使用的是AD环境,计算机加入域时,我们需要使用一个单独的加域工具,里面有需要将计算机加入到指定OU的选项.所以每次加域我们都需要找个这个工具,实现加域过程.最后我发现其实最 ...

  2. 微信小程序,个人开发者创业新平台

    在移动互联网世界,微信无小事,微信的事,是整个创业圈的事.经过一年多的酝酿,2017年1月9日,微信小程序发布了.发布伊始,无疑是对整个业界注入一剂兴奋剂,整个微信的生态圈的企业和个人开发者,都跃跃欲 ...

  3. C#语言集合

    switch 用法 int x = int.Parse(Console.ReadLine()); switch(x){ case 1: Console.WriteLine("这是1" ...

  4. flask 简单的语音识别

    from aip import AipSpeech,AipNlp #AipNlp 为自然语言处理 """ 你的 APPID AK SK """ ...

  5. Oracle 更改字符集 更改后之前的中文全成乱码了

    安装时采用什么字符集主要看你的需求,一般测试用的话,就用UTF8.后面可以修改, 10g:UTF8 到ZHS16GBK SHUTDOWN IMMEDIATE; STARTUP MOUNT ; ALTE ...

  6. 如何使用命令行备份SAP HANA数据库

    SAP HANA是一个在in-memory内存中的数据平台,部署为内部部署应用. 这是一个革命性的平台,它最适合进行实时分析,并开发和部署实时应用程序. 请点击这里了解更多有关SAP HANA. 通过 ...

  7. oracle 12c ins-30131 执行安装程序验证所需的初始设置失败

  8. EditText被键盘遮得住

    如果在Activity中的布局的下方有EditText,获取焦点弹出软键盘的时候,如果不做处理,软键盘可能会遮挡输入框,用户提现不好,网上也有很多人提出结局方案,这里就分析一下解决的效果. 需要用到E ...

  9. ChannelSftp 远程下载目录

    ChannelSftp 并不直接支持远程下载目录, 直接下载, 出现 : not supported to get directory ... 需要自己实现, 我的实现如下: /** * @param ...

  10. zabbix监控java日志文件

    zabbix监控日志文件 https://blog.csdn.net/workdsz/article/details/78439230?utm_source=blogxgwz2