拉格朗日對偶問題 Lagrange Dual Problem


拉格朗日對偶問題

前情提要:拉格朗日函數 拉格朗日對偶函數

原問題

\[\min f_0(x)\\ \begin{align*} s.t. \ &f_i(x) \le 0 \quad &i=1,2,\cdots,m\\ &h_i(x)=0 \quad &i=1,2,\cdots,p \end{align*} \]

化成拉格朗日函數形式

\[L(x,\lambda,\nu)=f_0(x)+\sum_{i=1}^m \lambda_i f_i(x)+\sum_{i=1}^p \nu_i h_i(x) \]

對偶函數

\[g(\lambda,\nu)=\min_x L(x,\lambda,\nu) \]

對偶問題

\[\max_{\lambda,\nu}g(\lambda,\nu)=\max_{\lambda,\nu} \min_x L(x,\lambda,\nu)\\ s.t. \lambda \ge 0\\ \]

對偶問題也可寫作有約束條件的形式

再強調一遍,最里層是拉格朗日函數,次外層是對偶函數,把對偶函數(凹函數)最大化就是對偶問題(凸問題),最大值就是上確界

上帝視角再看一遍

原問題和對偶問題的關系

所以原問題的解\(\ge\)對偶問題的解
那么問題來了,何時原問題才能和對偶問題有相同的解呢?

問題簡化

首先,先將問題簡化一下

注意,此時原問題中\(x\)的可行域(feasible region)在約束空間中,而對偶問題中的\(x\)無約束
所以\(G_1 \subseteq G_2\)
這樣簡化之后就可以從圖像上直觀的表示出來,其中可以把\(t\)看作\(y\),把\(u\)看作\(x\),那么就可以表示成一個線性函數

圖像直觀理解原問題和對偶問題

因為\(u \le 0\),所以\(G_1\)在左半部分,而假設\(G_2\)是整個藍線圍成的域
原問題找到最小值即為\(P^*\)
對偶問題先對於\(x\)找函數的最小值,再通過調整斜率,找到對於\(\lambda\)變量,函數的最大值

有兩點需要注意

  • 因為$\lambda \ge 0$,而函數的斜率為$-\lambda^T$,所以斜率必然$\le$0
  • 要與左邊相切且與右邊相切才能滿足最大最小條件

這里不太理解,先調整\(x\)得到最小值,再調整\(\lambda\)使函數最大,此時\(x\)已為定值,調整\(\lambda\)后還與右邊相切嗎?

問題解決,再看一遍上面那個總流程圖

\[\begin{align*} g(\lambda,\nu)&=\inf_{x \in D} L(x,\lambda,\nu)\\ &=\inf_{x \in D}{-b^T\nu+(A^T\nu-\lambda+c)^Tx}\\ \end{align*} \]

對偶函數中想要最小化的式子是一個仿射函數,可以理解為一條直線,無界
所以只好讓斜率=0(說斜率不太准確,高維空間應該是和原函數相切的超平面),這個斜率取0,后面就調節截距了,所以確定后始終是相切的

「這個過程是在每個固定斜率下求最小截距,然后從在不同斜率下求得的最小截距中找最大的」具體見這篇博客

直線的截距\(D^*\)即為對偶問題的解
從圖像也可看出原問題的解大於等於對偶問題的解,這種關系其實是一種若對偶關系

那么什么條件下原問題和對偶問題是等價的呢?

強對偶關系

不難想象,可行域的范圍是一個凸集時,兩值相等(注意:斜率一定\(\le 0\)
但是,\(G\)為凸集只是強對偶的充分非必要條件
比如下圖的可行域范圍是非凸集,但原問題和對偶問題依然等價

Slater條件

其中\(relint \ D\)相對內部

只有滿足了Slater條件,凸優化問題才是強對偶問題,是充分條件

KKT條件

KKT條件是強對偶問題的必要條件

如果\(x\)在可行域內,\(g_i(x)\)是松弛的,此時的\(g_i(x) \le 0\)\(\lambda_i=0, \lambda_ig(i)=0\)
如果最小值點不在可行域內,那么極值點在邊界上,\(g_i(x)=0\)\(\lambda_ig(i)=0\)
上述的緊致和松弛也就對應着前面強對偶關系的兩種情況的圖像

拉格朗日對偶問題的好處

為什么費盡周折的去轉化成對偶問題呢?
因為原問題不一定是凸優化問題
然而轉化成的對偶問題一定是凸優化問題(凹函數)

應用

最后再回到機器學習的應用中
在求最大熵的時候,就是將原問題轉化為對偶問題處理的

轉化成對偶問題,先將P的形式定下來,就是確定了模型,然后再調整\(\lambda\),也就是調參的過程
但在神經網絡中,由於有隱藏層的存在,調整參數\(\lambda\)后,\(x,y\)的值不再是已經確定的了,還要重新計算,所以求最小值的過程其實與最大化相互耦合

所以從整體來看並不是凸優化問題,但通過反向傳播,在最后的輸出層上形成一個局部的凸優化問題

神經網絡相當於一個篩選器,把現實中非凸優化的問題轉化成凸優化問題,通過隱藏層只留下凸優化的因素,送到最后的輸出層

Reference

https://zhuanlan.zhihu.com/p/103961917

https://www.bilibili.com/video/BV1HP4y1Y79e?from=search&seid=10704814736374919657&spm_id_from=333.337.0.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM