ML優化拉格朗日與KKT

2021-07-28 16:58:35 字數 3233 閱讀 3164

拉格朗日乘子法(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...