拉格朗日乘子法(lagrange multipliers)是一種尋找多元函式在一組約束下的極值的方法。通過引入拉格朗日乘子,可將有
d 個變數與
k個約束條件的最優化問題轉化為具有d+
k 個變數的無約束優化問題求解
基本的拉格朗日乘子法就是求函式f(
x1,x
2,..
.)在g(x
1,x2
,...
)=0 的約束條件下的極值的方法。主要思想是將約束條件與原函式聯絡在一起,使能配成與變數數量相等的等式方程,從而求得原函式極值的各個變數的解。
例子:假設需要求極值的目標函式為f(
x),約束條件為ϕ(
x,y)
=m
設g(x
,y)=
m−ϕ(
x,y)
,定義乙個新函式f(
x,y,
λ)=f
(x,y
)+λg
(x,y
) 求偏導:⎧⎩
⎨⎪⎪⎪
⎪∂f∂
x=0∂
f∂y=
0∂f∂
λ=0
求出x,y
,λ的值,代入即可得到目標函式的極值。
機器學習中的拉格朗日乘子法,一般用於求解約束優化問題的方法,當目標函式是凸函式時,求解最小值,使用拉格朗日乘子法求得的區域性最優解就是全域性最優解。類似的,在凹函式中,求得的最大值,區域性最大解就是全域性最大解。
在沒有約束條件下,直接使用求導取指即可,但是有了約束條件後,就不能這樣任意的小了,需要首先滿足約束條件之後再求解。
在二維空間中求解,假設約束條件是乙個曲線:
環線是目標函式的取值的等高線,需要緊貼約束線來滿足約束條件求得理想值。
圖中可以很清晰的看出來,與約束條件相切的等高線正合適。至於其他的與約束條件曲線相切的都不能考慮,因為這種取值一部分是符合約束條件的,一部分不能滿足約束條件。
曲線相切,實際上就是法線向量平行,同方向或者反方向。最優解處,f和g的斜率平行。也就是說,存在乙個非零實數與其中乙個斜率相乘,等於另外乙個曲線的斜率。這個實數稱之為
λ ,或者−λ
隨便啦∇[
f(x,
y)+λ
(g(x
,y)−
c)]=
0 一旦求出λ的值,將其套入下式,易求在無約束極值和極值所對應的點。f(
x,y)
=f(x
,y)+
λ(g(
x,y)
−c)
新方程f(
x,y)
在達到極值時與f(
x,y)
相等,因為f(
x,y)
達到極值時g(
x,y)
−c總等於零。
定義拉格朗日函式:l(
x,λ)
=f(x
)+λg
(x) 將其對
x 的偏導數∇x
l(x,
λ)置零即得式子∇f
(x)+
λg(x
)=0 ;同時對
λ 的偏導數∇λ
l(x,
λ)置零即得約束條件g(
x)=0
。所以原約束問題轉換成了對拉格朗日函式l(
x,λ)
的無約束優化問題。
現在考慮不等式g(
x)≤0
,如上圖,此時最優點
x 或者在g(
x)<
0也就是環形區域內;或者在g(
x)=0
環形線上。對於g
(x)<
0 的情況,約束g(
x)≤0
不起作用,可以直接通過條件∇f
(x)=
0 來獲得最優點,這裡等價於將λ=
0 之後求解∇x
l(x,
λ)=0
g(x)=0
的情況類似與上圖左側,但是有一些區別。在拉格朗日乘子中,約束條件g(
x)與f(x
) 保持梯度平行即可,可就是說引數
λ 無關正負;到了這裡,我們好好分析一下,假設兩者的梯度是同方向的,都是向外(就是環線區域外,相反方向當然也可以)。我們都知道,函式是按沿著梯度方向增大,所以f(
x)在區域外的值是大於區域內的值,也就是說,區域內的值是小值。我們的目標就是在約束條件下求
minf(x
) ,這裡區域內是滿足約束條件的,所以最優值顯然不在環線上取,而是在區域內取。如果我們非要在環線上取怎麼辦?兩個函式的梯度方向相反。這樣才符合我們的認知嘛,梯度相反,同乙個方向乙個變小乙個變大,環線是臨界值,很符合人們的羅輯思維。
接著說不等式約束條件,整合上面的兩種情況:
所以必有λg
(x)=
0 kkt條件推出來了:⎧⎩
⎨⎪⎪g
(x)≤
0;λ≥
0;μj
gj(x
)=0;
推廣到多個約束,考慮有m個等式約束和n個不等式約束,優化問題
minxf(
x)s.
t.hi
(x)=
0(i=
1,..
.,m)
,gj(
x)≤0
(j=1
,...
,n).
引入拉格朗日乘子λ=
(λ1,
λ2,.
..,λ
m)t 和μ=
(μ1,
μ2,.
..,μ
n)t ,相應的拉格朗日函式為 l(
x,λ,
μ)=f
(x)+
∑i=1
mλih
i(x)
+∑j=
1nμj
gj(x
) 引入的拉格朗日乘子條件與kkt條件為:⎧⎩
⎨⎪⎪⎪
⎪⎪⎪⎪
⎪⎪⎪⎪
⎪hi(
x)=0
;λi≠
0;gj
(x)≤
0;μj
≥0;μ
jgj(
x)=0.
拉格朗日插值與拉格朗日反演
模板 拉格朗日插值 拉格朗日插值法 f x sum limits 我們先把右邊那部分提出來看 ell x prod x x cdots x x cdots x 舉個例子吧 有二次函式上的三點 f 4 10,f 5 5.25,f 6 1 求 f 18 求出三個基本式 ell x ell x ell x...
拉格朗日對偶性和KKT條件
在約束最優化問題中,常用拉格朗日對偶性將原始問題轉換為對偶問題求解。稱最優化問題 begin begin min limits f x begin text c i x le 0,i 1,2,k h j x 0,j 1,2,l end end end 為原始最優化問題。使用以上優化問題構造廣義拉格朗...
拉格朗日反演
拉格朗日反演是求關於函式方程的冪級數展開係數非常重要的工具,可以用於組合計數函式的係數提取。對任意域 f 我們定義其上的形式冪級數為 f x a 0 a1 x anxn a i f.記所有的形式冪級數為f x 從交換代數的觀點來說f x 實際上是多項式環f x 在理想 x 處的完備化。容易看到f x...