ML 約束優化方法 拉格朗日乘子法與KKT條件

2021-10-03 22:10:51 字數 2655 閱讀 8198

本篇文章將詳解帶有約束條件的最優化問題,約束條件分為等式約束與不等式約束,對於等式約束的優化問題,可以直接應用拉格朗日乘子法去求取最優值;對於含有不等式約束的優化問題,可以轉化為在滿足 kkt 約束條件下應用拉格朗日乘子法求解。拉格朗日求得的並不一定是最優解,只有在凸優化的情況下,才能保證得到的是最優解,所以本文稱拉格朗日乘子法得到的為**可行解,**其實就是區域性極小值,接下來從無約束優化開始一一講解。

首先考慮乙個不帶任何約束的優化問題,對於變數x∈r

nx \in \mathbb^n

x∈rn

的函式 f(x

)f(x)

f(x)

,無約束優化問題如下:

min⁡x

f(x)

\min_x f(x)

minx​f

(x)

該問題很好解,根據 fermat 定理,直接找到使目標函式得 0 的點即可 即 ∇xf(x)=0∇xf(x)=0 ,如果沒有解析解的話,可以使用梯度下降或牛頓方法等迭代的手段來使 xx 沿負梯度方向逐步逼近極小值點。

當目標函式加上約束條件之後,問題就變成如下形式:

min⁡x

f(x)

s.t.

hi(x

)=0,

i=1,

2,..

.,

m\begin &\min_ \ f(x) \\ &s.t. \ \ \ h_i(x) = 0 , i = 1,2,...,m \\ \end

​xmin​f(

x)s.

t.hi

​(x)

=0,i

=1,2

,...

,m​

約束條件會將解的範圍限定在乙個可行域,此時不一定能找到使得 ∇xf

(x

)∇_xf(x)

∇x​f(x

)為 0 的點,只需找到在可行域內使得 f(x

)f(x)

f(x)

最小的值即可,常用的方法即為拉格朗日乘子法,該方法首先引入 lagrange multiplier α∈r

m\alpha \in \mathbb^m

α∈rm

,構建 lagrangian 如下:

l(x

,α)=

f(x)

+∑i=

1mαi

hi(x

)l(x,\alpha) = f(x) + \sum_^m \alpha_i h_i(x)

l(x,α)

=f(x

)+∑i

=1m​

αi​h

i​(x

)

求解方法如下:首先對 lagrangian 關於 α 與 x 求 :

\nabla_x l(x,\alpha)= 0 \\ \nabla_ l(x,\alpha)= 0 \end \right.

&\min_x \ f(x) \\ &s.t. \ \ \ h_i(x) = 0 , \ i = 1,2,...,m \ \\ & \ \ \ \ \ \ \ \ \ \ g_j(x) \le 0, \ j = 1,2,...,n \end

​xmin​f(

x)s.

t.hi

​(x)

=0,i

=1,2

,...

,mgj

​(x)

≤0,j

=1,2

,...

,n​

列出 lagrangian 得到無約束優化問題:

l(x

,α,β

)=f(

x)+∑

i=1m

αihi

(x)+

∑j=1

nβig

i(x)

l(x,\alpha,\beta) =f(x) + \sum_^m \alpha_i h_i(x) + \sum_^n\beta_ig_i(x)

l(x,α,

β)=f

(x)+

∑i=1

m​αi

​hi​

(x)+

∑j=1

n​βi

​gi​

(x)

經過之前的分析,便得知加上不等式約束後可行解 xx 需要滿足的就是以下的 kkt 條件:

katex parse error: no such environment: align at position 7: \begin̲ \nabla_x l(x,…

滿足 kkt 條件後極小化 lagrangian 即可得到在不等式約束條件下的可行解。kkt 條件看起來很多,其實很好理解:

(1) :拉格朗日取得可行解的必要條件;

(2) :這就是以上分析的乙個比較有意思的約束,稱作鬆弛互補條件;

(3) ∼∼ (4) :初始的約束條件;

(5) :不等式約束的 lagrange multiplier 需滿足的條件。

書:prml | 《機器學習方法》-李航 |《機器學習》-周志華

nice ppt

拉格朗日乘子法(有約束優化問題)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!拉格朗日乘子法 lagrange multiplier 和kkt karush kuhn tucker 條件是求解約束優化問題的重要方法,在有等式約束時使用拉格朗日乘子法,在有不等約束時使用kkt條件。前提是 只有當目標函式為凸函式時,使用這兩種方...

約束優化 拉格朗日乘子法 拉格朗日對偶解法的關係

本文梳理一些約束優化裡問題常見的一些拉格朗日乘子法與拉格朗日對偶的關係。經常看到一些錯誤說法 就是拉格朗日對偶解法就是針對不等式約束優化問題的拉格朗日乘子法,實際上並不是。1 約束優化問題 約束優化問題,分為等式約束優化問題和不等式約束優化問題。經常利用拉格朗日乘子法求解。2 等式約束優化問題 等式...

約束優化方法之拉格朗日乘子法與KKT條件

引言 本篇文章將詳解帶有約束條件的最優化問題,約束條件分為等式約束與不等式約束,對於等式約束的優化問題,可以直接應用拉格朗日乘子法去求取最優值 對於含有不等式約束的優化問題,可以轉化為在滿足 kkt 約束條件下應用拉格朗日乘子法求解。拉格朗日求得的並不一定是最優解,只有在凸優化的情況下,才能保證得到...