拉格朗日乘子法 学习笔记

本来是想写支持向量机的学习笔记的然后觉得内容太多了越写越不想写于是咕掉了
把写好的拉格朗日乘子法发上来吧QwQ

拉格朗日乘子法

wiki链接

拉格朗日乘子法用来求解带多个等式约束的情况下的多元函数极值。

它将一个有n个变量与m个约束条件的最优化问题转换为一个解有n + m个变量的方程组的解的问题。

单约束

考虑平面上的情况:

maxf(x,y)s.t. g(x,y)=0

引入Lagrange multiplier λ ,构造Lagrange function:

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

则f的极值点是F的驻点,F的驻点也不一定是f的极值点。

intuition:f的最大值,意味着f值不会沿着某个g=0的方向上升。在g0的方向上,λ不再影响,f最大值就是F最大值。从下面的contour图可以直观看出。

img

所以,要找g=0与f的contour方向相同的点,这个时候可能是f的最大值。(切点或者重合的一段contour)

注意到gradient是垂直于contour的,所以此时f与g的梯度方向相同或相反,大小不定,即满足:x,yf=λx,yg

可以发现:

x,y,λF(x,y,λ)=0

等价于

(1){x,yf(x,y)=λx,yg(x,y)g(x,y)=0

所以f的最大值点就是F的驻点啦!

多约束

x为n维向量,有m个约束

lagrange function:

F(x,λ)=f(x)i=1mλigi(x)

此时取最大值时f的梯度为g1,g2,...,gm的梯度的线性组合

每个限制是一个超平面,gi=0的可行方向空间就是垂直于gi 的向量空间。考虑所有的限制后, 可行方向空间A就是所有gi生成的空间S的正交补。

f(x)A=S,所以就是线性组合啦!

同样的:

F=0

等价于

(2){xf(x)=i=1mλigi(x)gi(x)=0, i=1..m

F=0得到的就是一个n+m个方程的方程组。

posted @   Candy?  阅读(825)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2017-02-03 E 洛谷 P3598 Koishi Loves Number Theory[数论]
2017-02-03 Codeforces Round #395 (Div. 2)(未完)
点击右上角即可分享
微信分享提示