主要是研究SVM算法的时候涉及到了拉格朗日乘子法,由于是大学数学的内容,开始看懂,也不高兴认真去看。后来发现绕不开,于是打算认真去研究下。主要还是百度百科(https://baike.baidu.com/item/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E5%AD%90%E6%B3%95/1946079)的解释提点到了我,而且我发现这些公式如果不想深究的话,只需按照公式的使用方法去处理计算即可,而不必深究公式是如何得出的。

       基本的拉格朗日乘子法就是求函数f(x1,x2,...)在约束条件g(x1,x2,...)=0下的极值的方法。其主要思想是将约束条件函数与原函数联立,从而求出使原函数取得极值的各个变量的解。

对于具有l个等式约束的n维优化问题,把原目标函数 改造成为如下形式的新的目标函数:(为什么可以这么改造可以不用管,就是拉格朗日规定这么做的)

式中的  就是原目标函数  的等式约束条件,而待定系数  称为拉格朗日乘子。这种方法称为拉格朗日乘子法。在极值点处,有 和  ,共有n+l个方程,足以算出这n+l个变量,此法也称为升维法

拉格朗日乘子法是一种经典的求解条件极值的解析方法,可将所有约束的优化模型问题转化为无约束极值问题的求解。一般带不等式约束的最优化问题求解如下式:

拉格朗日乘子法是用于变量无关的是常数  分别乘各约束函数 并与目标函数相加得到如下的拉格朗日函数:

,式中:  为自变量; 为拉格朗日乘子量;  为松弛变量。则

 处取极值的必要条件为:(即对每个变量求偏导,令导数=0

,依据上式求得  即为最优解。

主要计算过程:

1.假设需要求极值的目标函数(objective function)为f(x,y),限制条件为φ(x,y)=M

2.设

3.定义一个新函数

4.用偏导数方法列出方程:

5.求出上述导数=0时,x,y,λ的值,代入即可得到目标函数的极值。

举一个例子:来自https://blog.csdn.net/lijil168/article/details/69395023

一般情况下,最优化问题会碰到一下三种情况:

(1)无约束条件

  这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于0的点可能是极值点。将结果带回原函数进行验证即可。

(2)等式约束条件

设目标函数为f(x),约束条件为h_k(x),形如:

  s.t. 表示subject to ,“受限于”的意思,l表示有l个约束条件。

        

   则解决方法是消元法或者拉格朗日法。消元法比较简单不在赘述,这里主要讲拉格朗日法,因为后面提到的KKT条件是对拉格朗日乘子法的一种泛化。

   例如给定椭球:

          

    求这个椭球的内接长方体的最大体积。这个问题实际上就是条件极值问题,即在条件      下,求的最大值。

    当然这个问题实际可以先根据条件消去 z (消元法),然后带入转化为无条件极值问题来处理。但是有时候这样做很困难,甚至是做不到的,这时候就需要用拉格朗日乘数法了。

    首先定义拉格朗日函数F(x):

          ( 其中λk是各个约束条件的待定系数。)

然后解变量的偏导方程:

    ......,

   如果有l个约束条件,就应该有l+1个方程。求出的方程组的解就可能是最优化值(高等数学中提到的极值),将结果带回原方程验证就可得到解。

   回到上面的题目,通过拉格朗日乘数法将问题转化为

         

   对求偏导得到

     

   联立前面三个方程得到,带入第四个方程解之

          

   带入解得最大体积为:

    

 (3)不等式约束条件

看原文

拉格朗日乘子法(自己总结一些要点)相关推荐

  1. 最优化:拉格朗日乘子法

    作者:桂. 时间:2017-03-27 20:26:17 链接:http://www.cnblogs.com/xingshansi/p/6628785.html 声明:欢迎被转载,不过记得注明出处哦~ ...

  2. 转 机器学习系列 08:深入理解拉格朗日乘子法、KKT 条件和拉格朗日对偶性

    深度理解拉格朗日乘子法.KKT条件与线性规划对偶理论的微妙关系 https://blog.csdn.net/benzhujie1245com/article/details/85270058?utm_ ...

  3. 拉格朗日乘子法 学习笔记

    本来是想写支持向量机的学习笔记的然后觉得内容太多了越写越不想写于是咕掉了. 把写好的拉格朗日乘子法发上来吧QwQ 拉格朗日乘子法 wiki链接 拉格朗日乘子法用来求解带多个等式约束的情况下的多元函数极 ...

  4. 拉格朗日乘子法(Lagrange Multiplier)和KKT条件

    拉格朗日乘子法(Lagrange Multiplier)和KKT条件 一:前言 如果我们现实生活中的多元值求最优化的问题,我们会遇到一下三种场景: 无条件约束的优化问题 有等式约束的优化问题 有不等式 ...

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

    来源:https://www.cnblogs.com/ooon/p/5721119.html 引言 本篇文章将详解带有约束条件的最优化问题,约束条件分为等式约束与不等式约束,对于等式约束的优化问题,可 ...

  6. 拉格朗日乘子法学习[转载]

    转自:https://wenku.baidu.com/view/3815adfdfad6195f302ba6c0.html 1.约束条件下多变量的优化方法 2.等式约束下的拉格朗日乘子法 2.1等式约 ...

  7. 机器学习知识点(六)增广矩阵求解拉格朗日乘子法的Java实现

    基本的拉格朗日乘子法就是求函数f(x1,x2,...)在g(x1,x2,...)=0的约束条件下的极值的方法.其主要思想是将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得 ...

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

    目录 1. 拉格朗日乘子法用于最优化的原因 2. 最优化问题三种情况 2.1 无约束条件 2.2 等式约束条件:拉格朗日乘子法 2.3 不等式约束条件:KKT 3. Lagrange对偶函数 3.1  ...

  9. 求约束条件下极值的拉格朗日乘子法

    学过中学数学的都知道,对于无约束条件的函数求极值,主要利用导数求解法. 例如求解函数f(x,y)=x3-4x2+2xy-y2+1的极值.步骤如下: (1)求出f(x,y)的一阶偏导函数f'x(x,y) ...

最新文章

  1. long 雪花算法_雪花算法
  2. 实现在Android开发中的Splash Screen开场屏的效果
  3. ssh连接不上linux虚拟机
  4. 工作141:map形成数组
  5. 前端开发 关于颜色与图片 0229
  6. 11选5下期算法_玫瑰2020196期福彩3D推荐:双胆2、6,和值看好11
  7. android金币动效_Android 仿余额宝数字跳动动画效果完整代码
  8. C# WinForm关闭窗体确认
  9. C++-string““s操作符
  10. Python常用画图代码(折线图、柱状图、饼图)
  11. 关于CASE WHEN的多条件汇总问题
  12. 算法:258. Add Digits 各位相加
  13. 二叉树的镜像(剑指 Offer 27)
  14. html5商品列表页tab,基于vue的tab-list类目切换商品列表组件的示例代码
  15. PUN☀️三、服务器大厅、服务器房间
  16. BlackBerry HTML5 WebWorks 平台下,让BB10应用连接上BBM
  17. iOS打包ipa安装包的流程
  18. 华为p4不是鸿蒙吗怎么又改为安卓_华为已将“基于安卓10”变成“兼容安卓10”,EMUI就是鸿蒙OS...
  19. Aggressive cows-疯牛POJ(2456)-详解
  20. spring-boot 修改启动图标

热门文章

  1. 四种形态图解_波浪理论:调整浪的四种形态(图解)
  2. 【无标题】设备无法连接华为手机助手或连接不稳定解决办法
  3. JAVA学习资源种子
  4. 使用QUuid生成唯一码
  5. 保障信息安全不违规,App应满足哪些法律规定
  6. 当华为云WeLink遇上P40,多屏协同全场景办公有多神奇?
  7. 输出字符串中匹配最多的括号数
  8. 编写一个制造各种车辆的程序。包含三个类,具体要求如下: (1)基类Vehicle,包含轮子数和汽车自身重量两个属性,一个两参数的构造方法,一个显示汽车信息的方法; (2)小轿车类Car,增加载客数属性
  9. 湖北一公司发生闪爆事故,这套化工厂巡检系统你有吗?
  10. 计算机专业群名有内涵,好听又有内涵的群名推荐 诗意有文化