Lagrange與KKT的簡易解釋

本文將以梯度下降法的方式來解釋Lagrange和KKT。

關鍵詞:梯度下降法、等高線

基礎定義

Lagrange

求解等式約束下的最優化問題

\min_x f(x), s.t. h_k(x)=0, k=1,2,...,m

Lagrange函數:L(\lambda_{1,2,...,m} ,x) = f(x) + \sum_{i=1}^m\lambda_i\cdot h_i(x)=f(x)+\lambda\cdot h(x) (1)

方程組\{\frac{\partial L}{\partial x}=0, \frac{\partial L}{\partial \lambda_1}=0 , \frac{\partial L}{\partial \lambda_2}=0, ... , \frac{\partial L}{\partial \lambda_m}=0\}的解是原問題的可能的最優解

KKT

求解不等式約束下的最優化問題

\min_x f(x) \\ s.t. h_k(x)=0, k=1,2,...,m \\ g_t(x)=0, t=1,2,...,n

Lagrange函數:L(\lambda, \mu ,x) = f(x) + \sum_{i=1}^m\lambda_i\cdot h_i(x) + \sum_{j=1}^n\mu_j\cdot g_j(x) \\=f(x)+\lambda\cdot h(x)+\mu\cdot g(x), \; \mu_j\geq0 (2)

方程組\{h_i(x)=0, g_j(x)\leq 0, \mu_j\geq0, \frac{\partial L}{\partial x}=0, \mu_j\cdot g_j=0\},即KKT條件,的解是原問題的可能的最優解

解釋

梯度的定義

\lim_{\Delta x}\frac{f(x+\Delta x)-f(x)}{\Delta x}=\nabla f{f(x+\delta x)-f(x)}= {\delta x} \cdot \nabla f

等式約束

因爲在最小化f(x)的同時必須要滿足等式約束h(x)=0,即x的更新\delta x要滿足{h(x+\delta x)-h(x)}=0= {\delta x} \cdot \nabla h,即\delta x必須要正交與h的梯度\nabla h,而要想f(x)的取得最小則更新\delta x必須無法再減小f(x)的值,即要滿足{f(x+\delta x)-f(x)}=0= {\delta x} \cdot \nabla f,即\delta x必須要正交與f的梯度\nabla f,所以最小點處有\nabla h\nabla f平行,即\nabla f + \lambda \cdot \nabla h = 0 = \partial_x L,當然還要滿足約束h(x)=0。

不等式約束

不等式約束的情況比等式約束複雜些,分以下兩種情況討論:

最小點處於約束空間之內

此時,不等約束相當於沒有約束,此時最小化f(x),則有\nabla f + \lambda \cdot \nabla h = 0;當然,由於最小點可能有多個,仍需不等約束進行過濾,即最小點需滿足\{\nabla f + \lambda \cdot \nabla h = 0=\nabla f+\lambda \cdot \nabla h+\mu \cdot \nabla g= \partial_x L, \mu = 0; \;\; h(x)= 0, g(x)\leq 0 \}

最小點不在約束空間之內

由於約束g(x)是個有上界的函數,約束下的最小點必然是在約束的上界處即g(x)=0處(由於此時f與g的梯度方向相反,所以有要求\mu\geq0),即不等約束退化爲等式約束,同等式約束的分析,即此時有\{\nabla f + \lambda \cdot \nabla h + \mu \cdot \nabla g = 0= \partial_x L, \; \mu \geq 0, \; g(x) = 0, \; h(x)= 0 \}

綜合

綜合上述兩種情況,即有\{\nabla f + \lambda \cdot \nabla h + \mu \cdot \nabla g = 0= \partial_x L, \; \mu \cdot g(x) = 0, \; \mu \geq 0, \; g(x) \leq 0, \; h(x)= 0 \},即KKT條件。

KKT的證明

 

參考資料

1. https://zhuanlan.zhihu.com/p/99945521

2. https://www.zhihu.com/question/23311674

3. https://www.cnblogs.com/sddai/p/5728195.html

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章