HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    kkt二階最優(yōu)條件(二階最優(yōu)化條件)

    發(fā)布時間:2023-04-07 12:28:11     稿源: 創(chuàng)意嶺    閱讀: 91        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于kkt二階最優(yōu)條件的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    kkt二階最優(yōu)條件(二階最優(yōu)化條件)

    一、請教關(guān)于拉格朗日乘子法的問題 langrange multiplier

    在求取有約束條件的優(yōu)化問題時,拉格朗日乘子法(Lagrange Multiplier) 和KKT條件是非常重要的兩個求取方法,對于等式約束的優(yōu)化問題,可以應(yīng)用拉格朗日乘子法去求取最優(yōu)值;如果含有不等式約束,可以應(yīng)用KKT條件去求取。當(dāng)然,這兩個方法求得的結(jié)果只是必要條件,只有當(dāng)是凸函數(shù)的情況下,才能保證是充分必要條件。KKT條件是拉格朗日乘子法的泛化。之前學(xué)習(xí)的時候,只知道直接應(yīng)用兩個方法,但是卻不知道為什么拉格朗日乘子法(Lagrange Multiplier) 和KKT條件能夠起作用,為什么要這樣去求取最優(yōu)值呢?

    本文將首先把什么是拉格朗日乘子法(Lagrange Multiplier) 和KKT條件敘述一下;然后開始分別談?wù)劄槭裁匆@樣求最優(yōu)值。

    一. 拉格朗日乘子法(Lagrange Multiplier) 和KKT條件

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

    (i) 無約束優(yōu)化問題,可以寫為:

    min f(x);

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

    min f(x),

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

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

    min f(x),

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

    h_j(x) = 0; j =1, ..., m

    對于第(i)類的優(yōu)化問題,常常使用的方法就是Fermat定理,即使用求取f(x)的導(dǎo)數(shù),然后令其為零,可以求得候選最優(yōu)值,再在這些候選值中驗(yàn)證;如果是凸函數(shù),可以保證是最優(yōu)解。

    對于第(ii)類的優(yōu)化問題,常常使用的方法就是拉格朗日乘子法(Lagrange Multiplier) ,即把等式約束h_i(x)用一個系數(shù)與f(x)寫為一個式子,稱為拉格朗日函數(shù),而系數(shù)稱為拉格朗日乘子。通過拉格朗日函數(shù)對各個變量求導(dǎo),令其為零,可以求得候選值集合,然后驗(yàn)證求得最優(yōu)值。

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

    (a) 拉格朗日乘子法(Lagrange Multiplier)

    對于等式約束,我們可以通過一個拉格朗日系數(shù)a 把等式約束和目標(biāo)函數(shù)組合成為一個式子L(a, x) = f(x) + a*h(x), 這里把a(bǔ)和h(x)視為向量形式,a是橫向量,h(x)為列向量,之所以這么寫,完全是因?yàn)閏sdn很難寫數(shù)學(xué)公式,只能將就了.....。

    然后求取最優(yōu)值,可以通過對L(a,x)對各個參數(shù)求導(dǎo)取零,聯(lián)立等式進(jìn)行求取,這個在高等數(shù)學(xué)里面有講,但是沒有講為什么這么做就可以,在后面,將簡要介紹其思想。

    (b) KKT條件

    對于含有不等式約束的優(yōu)化問題,如何求取最優(yōu)值呢?常用的方法是KKT條件,同樣地,把所有的不等式約束、等式約束和目標(biāo)函數(shù)全部寫為一個式子L(a, b, x)= f(x) + a*g(x)+b*h(x),KKT條件是說最優(yōu)值必須滿足以下條件:

    1. L(a, b, x)對x求導(dǎo)為零;

    2. h(x) =0;

    3. a*g(x) = 0;

    求取這三個等式之后就能得到候選最優(yōu)值。其中第三個式子非常有趣,因?yàn)間(x)<=0,如果要滿足這個等式,必須a=0或者g(x)=0. 這是SVM的很多重要性質(zhì)的來源,如支持向量的概念。

    二. 為什么拉格朗日乘子法(Lagrange Multiplier) 和KKT條件能夠得到最優(yōu)值?

    為什么要這么求能得到最優(yōu)值?先說拉格朗日乘子法,設(shè)想我們的目標(biāo)函數(shù)z = f(x), x是向量, z取不同的值,相當(dāng)于可以投影在x構(gòu)成的平面(曲面)上,即成為等高線,如下圖,目標(biāo)函數(shù)是f(x, y),這里x是標(biāo)量,虛線是等高線,現(xiàn)在假設(shè)我們的約束g(x)=0,x是向量,在x構(gòu)成的平面或者曲面上是一條曲線,假設(shè)g(x)與等高線相交,交點(diǎn)就是同時滿足等式約束條件和目標(biāo)函數(shù)的可行域的值,但肯定不是最優(yōu)值,因?yàn)橄嘟灰馕吨隙ㄟ€存在其它的等高線在該條等高線的內(nèi)部或者外部,使得新的等高線與目標(biāo)函數(shù)的交點(diǎn)的值更大或者更小,只有到等高線與目標(biāo)函數(shù)的曲線相切的時候,可能取得最優(yōu)值,如下圖所示,即等高線和目標(biāo)函數(shù)的曲線在該點(diǎn)的法向量必須有相同方向,所以最優(yōu)值必須滿足:f(x)的梯度 = a* g(x)的梯度,a是常數(shù),表示左右兩邊同向。這個等式就是L(a,x)對參數(shù)求導(dǎo)的結(jié)果。(上述描述,我不知道描述清楚沒,如果與我物理位置很近的話,直接找我,我當(dāng)面講好理解一些,注:下圖來自wiki)。

    而KKT條件是滿足強(qiáng)對偶條件的優(yōu)化問題的必要條件,可以這樣理解:我們要求min f(x), L(a, b, x) = f(x) + a*g(x) + b*h(x),a>=0,我們可以把f(x)寫為:max_{a,b} L(a,b,x),為什么呢?因?yàn)閔(x)=0, g(x)<=0,現(xiàn)在是取L(a,b,x)的最大值,a*g(x)是<=0,所以L(a,b,x)只有在a*g(x) = 0的情況下才能取得最大值,否則,就不滿足約束條件,因此max_{a,b} L(a,b,x)在滿足約束條件的情況下就是f(x),因此我們的目標(biāo)函數(shù)可以寫為 min_x max_{a,b} L(a,b,x)。如果用對偶表達(dá)式: max_{a,b} min_x L(a,b,x),由于我們的優(yōu)化是滿足強(qiáng)對偶的(強(qiáng)對偶就是說對偶式子的最優(yōu)值是等于原問題的最優(yōu)值的),所以在取得最優(yōu)值x0的條件下,它滿足 f(x0) = max_{a,b} min_x L(a,b,x) = min_x max_{a,b} L(a,b,x) =f(x0),我們來看看中間兩個式子發(fā)生了什么事情:

    f(x0) = max_{a,b} min_x L(a,b,x) = max_{a,b} min_x f(x) + a*g(x) + b*h(x) = max_{a,b} f(x0)+a*g(x0)+b*h(x0) = f(x0)

    可以看到上述加黑的地方本質(zhì)上是說 min_x f(x) + a*g(x) + b*h(x) 在x0取得了最小值,用fermat定理,即是說對于函數(shù) f(x) + a*g(x) + b*h(x),求取導(dǎo)數(shù)要等于零,即

    f(x)的梯度+a*g(x)的梯度+ b*h(x)的梯度 = 0

    這就是kkt條件中第一個條件:L(a, b, x)對x求導(dǎo)為零。

    而之前說明過,a*g(x) = 0,這時kkt條件的第3個條件,當(dāng)然已知的條件h(x)=0必須被滿足,所有上述說明,滿足強(qiáng)對偶條件的優(yōu)化問題的最優(yōu)值都必須滿足KKT條件,即上述說明的三個條件??梢园袺KT條件視為是拉格朗日乘子法的泛化。

    轉(zhuǎn)載

    二、拉格朗日乘子法和KKT條件

    拉格朗日乘子法要解決的就是有 等式 限制條件的凸優(yōu)化問題。形式如下:

    例如:

    令 導(dǎo)數(shù)為0,得到:

    求解出x, y, z即為最優(yōu)解,同時也會求出λ,但是沒什么用。

    關(guān)于拉格朗日乘子法的直觀理解網(wǎng)上已經(jīng)有很多解釋了,此處僅簡要描述。如下圖中的f和g,虛線為f的等高線,g限制條件,可以看出,f一定是在和g相切的地方取到最大(?。┲?,所以兩者在此處的梯度方向相同,僅相差一個比例因子(即公式中的λ)。

    注意g(x)=0是一條曲線,如果有多個限制條件則有多條曲線,此時將g(x)看做一個函數(shù),則g(x)=0是g的一個等高線,函數(shù)與等高線垂直的方向一定是增加最快的方向,即梯度方向。f和g梯度方向一樣,所以有:

    然后再外加一個所求的點(diǎn)一定在曲線g上的方程(即F(x)對λ的導(dǎo)數(shù)為0),以上公式和拉格朗日乘子法得出的公式是等價的。

    拉格朗日乘子法僅適用于等式約束條件,那如果約束條件為不等式怎么辦呢?

    答: 當(dāng)約束條件為不等式時候,結(jié)合KKT條件,依然可以用拉格朗日乘子法求解,實(shí)際上KKT條件可以把不等式約束轉(zhuǎn)化為等式約束。即,KKT條件求解的問題的形式為:

    待續(xù)。。。

    三、什么是Kuhn-Tucker conditions

    卡羅需-庫恩-塔克條件

    英文原名: Karush-Kuhn-Tucker Conditions常見別名:

    Kuhn-Tucker,KKT條件,Karush-Kuhn-Tucker最優(yōu)化條件,

    Karush-Kuhn-Tucker條件,Kuhn-Tucker最優(yōu)化條件,Kuhn-Tucker條件)是在滿 足一些有規(guī)則的條件下,一個非線性規(guī)劃(Nonlinear Programming)問題能有最優(yōu)化解法的一個必要和充分條件。這是一個廣義化拉格朗日乘數(shù)的成果。

    維基百科

    四、這題可以直接在(a,c)(c,b)上使用拉格朗日嗎?

    不可以。拉格朗日法要求有n個變量和m個約束條件,其中n > m,而(a,c)和(c,b)都只有2個變量,不符合拉格朗日法的要求。

    以上就是關(guān)于kkt二階最優(yōu)條件相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    hokkien翻譯(hockey 翻譯)

    最優(yōu)化kkt條件(kkt條件例題)

    kkt二階最優(yōu)條件(二階最優(yōu)化條件)

    農(nóng)村園林式庭院設(shè)計圖(農(nóng)村園林式庭院設(shè)計圖片大全)

    幼兒園手工雪人景觀設(shè)計(幼兒園手工雪人景觀設(shè)計圖)