1. 程式人生 > 其它 >拉格朗日對偶問題 Lagrange duality

拉格朗日對偶問題 Lagrange duality

拉格朗日乘數法;拉格朗日對偶問題;KKT條件

拉格朗日對偶問題

前情提要:拉格朗日函式

$L(x,\lambda,\nu)=f_0(x)+\sum \lambda_i f_i(x)+\sum \nu_i h_i(x)$   對偶函式:$g(\lambda,\nu)=\min_x L(x,\lambda,\nu)$

原問題為                       對偶問題

$\min_x \max_{\lambda,\nu} L(x,\lambda,\nu)\\$               $\max_{\lambda,\nu}g(\lambda,\nu)=\max_{\lambda,\nu} \min_x L(x,\lambda,\nu)$      

$s.t. \lambda \ge 0$                      $s.t. \lambda \ge 0$

對偶問題轉化為約束形式

$\max_{\lambda,\nu} g(\lambda,\nu)$

$s.t. \nabla_xL(x,\lambda,\nu)=0$

$\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$後還與右邊相切嗎?

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

直線的截距$D^*$即為對偶問題的解

從影象也可看出原問題的解大於等於對偶問題的解,這種關係其實是一種若對偶關係

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

強對偶關係

不難想象,可行域的範圍是一個凸集時,兩值相等(注意:斜率一定$\le 0$)

但是,$G$為凸集只是強對偶的充分非必要條件

比如下圖的可行域範圍是非凸集,但原問題和對偶問題依然等價

Slater條件

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

KKT條件

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

如果$x$在可行域內,$g_i(x)$是鬆弛的,此時的$g_i(x)<0$,$\lambda_i=0, \lambda_ig(i)=0$

如果最小值點不在可行域內,那麼極值點在邊界上,$g_i(x)=0$,$\lambda_ig(i)=0$

上述的緊緻和鬆弛也就對應著前面強對偶關係的兩種情況的影象

對偶問題一定是凸優化問題

格朗日對偶函式是凹函式,證明看這個連結,凹函式屬於凸優化問題

應用

最後再回到機器學習的應用中

在求最大熵的時候,就是將原問題轉化為對偶問題處理的

轉化成對偶問題,先將P的形式定下來,就是確定了模型,然後再調整$\lambda$,也就是調參的過程

但在神經網路中,由於有隱藏層的存在,調整引數$\lambda$後,$x,y$的值不再是已經確定的了,還要重新計算,所以求最小值的過程其實與最大化相互耦合

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

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

未完待續。。。還有幾點不太清楚