日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

拉格朗日乘子法、KKT条件、拉格朗日对偶性

發布時間:2023/12/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拉格朗日乘子法、KKT条件、拉格朗日对偶性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

拉格朗日乘子法、KKT條件、拉格朗日對偶性
轉載于http://blog.csdn.net/sinat_17496535/article/details/52103852

筆記主要來源于維基百科和《統計學習方法》
拉格朗日乘子法(Lagrange Multiplier)

拉格朗日乘子法是一種尋找有等式約束條件的函數的最優值(最大或者最小)的最優化方法.在求取函數最優值的過程中,約束條件通常會給求取最優值帶來困難,而拉格朗日乘子法就是解決這類問題的一種強有力的工具.

  • 單約束問題
  • 考慮以下的二維單約束優化問題:

    maximize f(x,y)
    subject to g(x,y)=0
    把f(x,y)繪制成等高圖,當沿著曲線g(x,y)=0尋找最大值時,函數最大值的點應該是在f(x,y)=maximum與g(x,y)=0相切的位置,但是有時候也會遇到沿著g(x,y)=0尋找的過程中,f(x,y)在某一段保持不變,這個時候也有可能這段點集就是我們要尋找的最優解.有兩種可能會出現這種情況:1) f和g是”平行”的,也就是我們在約束曲線上尋找的同時也是在f(x,y)=d上移動; 2) 遇到了f的level part,意思就是,f在任何方向都不會改變.
    在以上兩種情況中都存在λ滿足下式:

    ?x,yf=?λ?x,yg,

    總結上述所有公式,我們有:
    L(x,y,λ)=f(x,y)+λg(x,y)

    解:
    ?x,y,λL(x,y,λ)=0

    這種方法就是拉格朗日乘子法,其中λ就是拉格朗日乘子,當第二種情況出現時λ=0.
    類似地,針對多變量問題,我們可通過解下式獲得最優解:
    ?x1,…,xn,λL(x1,…,xn,λ)=0
    2. 多約束問題

    考慮一個簡單的約束問題:兩個約束曲線僅相交于一點,那么很顯然,這一點就是最優點.再考慮一下更一般的情況,f的level set并不平行于所有的約束曲線,這時候應該怎么辦呢?線性組合!!!拉格朗日乘子法所尋找的點對應的梯度并不是f任意某個約束的梯度的倍數,而是所有約束梯度的線性組合!
    用A表示可尋找的向量空間,S表示約束梯度的張量空間,就有:A=S⊥,向量空間垂直與S中的每一個元素.
    與單約束問題類似,我們仍然考慮在沿著向量空間尋找過程中那些使f不變的點,因為這些點可能就是最優值.
    也就是說,我們需要尋找那些x使得其移動方向垂直于?f(x),因為這個時候f才是不發生變化的,則有:?f(x)∈A⊥=S,因此,存在實數λ1,λ2,…,λM滿足:

    ?f(x)=?∑k=1Mλk?gk(x)
    其中,那些實數就是拉格朗日乘子,相應的拉格朗日函數式如下:
    L(x1,…,xn,λ1,…,λM)=f(x1,..,xn)?∑k=1Mλkgk(x1,…,xn),
    解:
    ?x1,…,xn,λ1,…,λML(x1,…,xn,λ1,…,λM)=0
    以上就是拉格朗日乘子法針對多約束問題的求解辦法.
    KKT條件(Karush–Kuhn–Tucker conditions)

    KKT條件是拉格朗日乘子法的拓展,是一種求取含不等式約束條件的函數最優值的方法.
    考慮以下非線性優化問題:

    maxmize f(x)
    subject to gi(x)≤0,hj(x)=0
    其中x就是優化變量,f是目標函數,gi (i=1,2,…,m)是不等式約束函數,hj (j=1,2,…,l)是等式約束函數.
    針對該問題,KKT條件就是指最優點x?滿足以下條件:

    ?f(x?)=∑i=1mμi?gi(x?)+∑j=1lλj?hj(x?)

    gi(x?)≤0, for all i=1,2,…,m

    hj(x?)=0, for all j=1,2,…,l

    μi≥0, for all i=1,2,…,m

    μigi(x?)=0, for all i=1,2,…,m
    拉格朗日對偶性(Lagrange duality)

    在約束最優化問題中,常常利用拉格朗日對偶性將原始問題轉化為對偶問題。通過解對偶問題而得到原始問題的解.
    1. 原始問題(primal problem)

    假設f(x),ci(x),hj(x)是定義在Rn上的連續可微函數。考慮如下最優化問題:

    minx∈Rnf(x) (1)

    s.t. ci(x)≤0, i=1,2,…,k (2)

    hj(x)=0, j=1,2,...,l (3)

    稱此約束最優化問題為原始最優化問題或原始問題.
    引入廣義拉格朗日函數
    L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x) (4)

    這里, αi,βj是拉格朗日乘子,αi≥0. 考慮x的函數:
    θP(x)=maxα,β;αi≥0L(x,α,β) (5)

    這里下標P表示原始問題.
    容易得到:當x滿足原始問題約束時,θP(x)=f(x),則可得到與原始優化問題想等價的極小化問題如下:
    minxθP(x)=minxmaxα,β;αi≥0L(x,α,β) (6)

    此問題稱為廣義拉格朗日函數的極小極大問題. 定義原始問題的最優值
    p?=minxθP(x) (7)

    稱為原始問題的值.
    2. 對偶問題(dual problem)

    定義

    θD(α,β)=minxL(x,α,β) (8)

    再考慮極大化上式,即
    maxα,β;αi≥0θD(α,β)=maxα,β;αi≥0minxL(x,α,β) (9)

    問題maxα,β;α≥0minxL(x,α,β)稱為廣義拉格朗日函數的極大極小問題.
    可將廣義拉格朗日函數的極大極小問題表示為約束最優化問題:
    maxα,βθD(α,β)=maxα,βminxL(x,α,β) (10)

    s.t. αi≥0, i=1,2,…,k (11)

    稱為原使問題的對偶問題. 定義對偶問題的最優值
    d?=maxα,β;αi≥0θD(α,β) (12)

    稱為對偶問題的值.
    3. 原始問題和對偶問題的關系

    這里直接列出《統計學習方法》中的幾個定理和推論.
    定理1 若原始問題和對偶問題都有最大值,則

    d?=maxα,β;αi≥0minxL(x,α,β)≤minxmaxα,β;αi≥0L(x,α,β)=p?

    推論1 設x?和α?,β?分別是原始問題(公式1~3)和對偶問題(公式10~11)的可行解,并且d?=p?,則 x?和α?,β?分別是原始問題和對偶問題的最優解.

    定理2 考慮原始問題(公式1~3)和對偶問題(公式10~11). 假設函數f(x)和ci(x)是凸函數, hj(x)是仿射函數1; 并且假設不等式約束ci(x)是嚴格可行的, 即存在x, 對所有i有ci(x)<0, 則存在x?,α?,β?,使x?是原始問題的解, α?,β?是對偶問題的解,并且
    p?=d?=L(x?,α?,β?)

    定理3 對原始問題(公式1~3)和對偶問題(公式10~11), 假設函數f(x)和ci(x)是凸函數,hj(x)是仿射函數,并且不等式約束ci(x)是嚴格可行的, 則x?和α?,β?分別是原始問題和對偶問題的解的充分必要條件是x?,α?,β?滿足KKT條件:
    ?xL(x?,α?,β?)=0

    α?ici(x?)=0, i=1,2,…,k

    ci(x?)≤0, i=1,2,…,k

    α?i≥0, i=1,2,…,k

    hj(x?)=0, j=1,2,…,l

    注:在該定理中,書中還給出以下兩個條件
    ?αL(x?,α?,β?)=0

    ?βL(x?,α?,β?)=0

    我認為是錯誤的,如果滿足的話,那么ci(x?)=0,i=1,2,…,k,顯然廣義上的拉格朗日函數變成了原始的拉格朗日函數,與原始問題(公式2)不符。
    f(x)稱為仿射函數,如果它滿足f(x)=ax+b,a∈Rn,b∈R,x∈Rn ?

    總結

    以上是生活随笔為你收集整理的拉格朗日乘子法、KKT条件、拉格朗日对偶性的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。