拉格朗日乘子法

2021-10-03 20:39:39 字數 1454 閱讀 1125

在求取有約束條件的優化問題時,拉格朗日乘子法(lagrange multiplier) 和kkt條件是非常重要的兩個求取方法,對於等式約束的優化問題,可以應用拉格朗日乘子法去求取最優值;如果含有不等式約束,可以應用kkt條件去求取。當然,這兩個方法求得的結果只是必要條件,只有當是凸函式的情況下,才能保證是充分必要條件。kkt條件是拉格朗日乘子法的泛化。之前學習的時候,只知道直接應用兩個方法,但是卻不知道為什麼拉格朗日乘子法(lagrange multiplier) 和kkt條件能夠起作用,為什麼要這樣去求取最優值呢?

首先把什麼是拉格朗日乘子法(lagrange multiplier) 和kkt條件敘述一下;然後開始分別談談為什麼要這樣求最優值。

通常我們需要求解的最優化問題有如下幾類:

(i) 無約束優化問題,可以寫為

m in

f(x)

min f(x)

minf(x

);(ii) 有等式約束的優化問題,可以寫為:

​ m in

f(x)

min f(x)

minf(x

),​ s .t

.hi(

x)=0

;i=1

,…,n

s.t. h_i(x) = 0; i =1, …, n

s.t.hi

​(x)

=0;i

=1,…

,n(iii) 有不等式約束的優化問題,可以寫為:

​ m in

f(x)

,min f(x),

minf(x

),​ s.t

.gi(

x)

<=0

;i=1

,…,n

s.t. g_i(x) <= 0; i =1, …, n

s.t.gi

​(x)

<=0

;i=1

,…,n

​ hj(x

)=0;

j=1,

…,

mh_j(x) = 0; j =1, …, m

hj​(x)

=0;j

=1,…

,m對於第(i)類的優化問題,常常使用的方法就是fermat定理,即使用求取f(x)的導數,然後令其為零,可以求得候選最優值,再在這些候選值中驗證;如果是凸函式,可以保證是最優解。

對於第(ii)類的優化問題,常常使用的方法就是拉格朗日乘子法(lagrange multiplier) ,即把等式約束h_i(x)用乙個係數與f(x)寫為乙個式子,稱為拉格朗日函式,而係數稱為拉格朗日乘子。通過拉格朗日函式對各個變數求導,令其為零,可以求得候選值集合,然後驗證求得最優值。

對於第(iii)類的優化問題,常常使用的方法就是kkt條件。同樣地,我們把所有的等式、不等式約束與f(x)寫為乙個式子,也叫拉格朗日函式,係數也稱拉格朗日乘子,通過一些條件,可以求出最優值的必要條件,這個條件稱為kkt條件。

拉格朗日乘子法

最近在學習 svm 的過程中,遇到關於優化理論中拉格朗日乘子法的知識,本文是根據幾篇文章總結得來的筆記。由於是剛剛接觸,難免存在錯誤,還望指出?另外,本文不會聊到深層次的數學推導,僅僅是介紹拉格朗日乘子法的內容,應用,以及個人對它的感性理解。按照維基百科的定義,拉格朗日乘數法是一種尋找多元函式在其變...

拉格朗日乘子法

最優化基本知識這裡就不贅述了,詳情可以參考個種最優化書籍,這篇部落格主要是幫助回憶優化應用中較常用的方法。一般情況下,最優化問題會碰到一下三種情況 1.無約束,2.等式約束 3.不等式約束。對於無約束情況,只要將優化目標對於變數求導,並令其等於0即可,我們主要討論第二種情況。設目標函式為f x 約束...

拉格朗日乘子法

等式約束優化 當目標函式加上約束條件之後,問題就變成如下形式 目標函式和約束 約束條件會將解的範圍限定在乙個可行域,此時不一定能找到使得 xf x xf x 為 0 的點,只需找到在可行域內使得f x f x 最小的值即可,常用的方法即為拉格朗日乘子法,該方法首先引入 lagrange multip...