ML 對偶 Duality 問題初識

2022-05-06 22:06:16 字數 4706 閱讀 2505

為什麼要把原始問題(primal) 轉為 對偶問題(dual), 主要原因在於, 求解方便吧大概.

對偶問題

既然是對於同乙個問題的不同角度來看, 假設就兩個角度: primal 和 dual. 假設, 在primal 即原始問題下的最優解為 \(p*\), 在其dual的角度下, 最優解為 \(d^*\)則有

從primal 轉為 dual, 可以通過拉格朗日乘子來實現.

結論: p >= d**

standard form:

\(minmize \ f_0(x) \\ s.t. \\ f_i(x) <=0, i=1,2,..m \\ h_j(x) = 0, j = 1,2...p\)

通過拉格朗日乘子(將約束轉為無約束求極值)

why 拉格朗日乘子法?

假設切點是 \((x_0, y_0)\), 根據f(x,y), g(x,y) 在該處的梯度是平行的, 即

\(\nabla f(x_0, y_0) = (f_x(x_0, y_0), f_y (x_0, y_0)) \\ \nabla g(x_0, y_0) = (g_x(x_0, y_0), g_y (x_0, y_0))\)

\(由 \nabla f(x_0,y_0) // \nabla g(x_0,y_0) 得 \\ \frac = -\lambda _0 因此得出:\)

\(f_x(x_0, y_0) + \lambda_0 \ g_x(x_0,y_0)) = 0 \\ f_y(x_0, y_0) + \lambda_0 \ g_y(x_0,y_0))=0 \\ g(x_0, y_0) = 0\)

由此將條件極值問題通過拉格朗日乘子,轉為了求解方程組的問題.

為了求解,引入乙個輔助函式 \(l(x,y, \lambda) = f(x,y) + \lambda \ g(x,y)\)

即: \(\nabla l(x_0,y_0, \lambda_0) = 0\), 恰好對應上面的方程組, 巧了嗎, 這不是.

(ps, 當然也可以通過分析方法隱函式相關知識來推導出, 這裡不展開了).

通過拉格朗日, 將primal 轉為dual 即

\(l(x, \lambda, \nu) = f_0(x) + \sum _^ \lambda_i f_i(x) + \sum _^p \nu_ih_i(x)\)

轉為拉格朗日的 dual 函式形式即:

\(g(\lambda, \nu) = infimum_x l(x, \lambda, \nu), \ inf..表示下界\)

\(= inf_x [ f_0(x) + \sum _^ \lambda_i f_i(x) + \sum _^p \nu_ih_i(x) ]\)

即所謂的 lower bound property:

即:\(g(\lambda, \nu) <= p* = f_0(x*) \leftarrow \forall \lambda, \nu\) (此乃最為關鍵一環),

這種思想就是:\(min \ primal \rightleftharpoons max \ dual\)

證明如下:

\(minmize \ f_0(x) \\ s.t. \\ f_i(x) <=0, i=1,2,..m \\ h_j(x) = 0, j = 1,2...p\)

假設 x' 是primal 問題的可行解, 即:

\(l(x', \lambda, \nu) = f_0(x') + \sum _^ \lambda_i f_i(x') + \sum _^p \nu_ih_i(x')\) , 則必然有

$f_0(x') >= l(x', \lambda, \nu) >= inf_x (x,\lambda, \nu) = g(\lambda, \nu) $ (可證: \(g(\lambda, \nu) 是乙個 凹函式 "\cap"這樣的\) )

即證: $f_0(x') >= g(\lambda, \nu), 即: p* >= d^* $

case1: least norm minimization

\(min \ x^tx \\ s.t. \ ax=b\)

解:引入拉格朗日函式:

\(l(x, \lambda) = x^tx + \lambda^t(ax-b) \\ 首先來"固定"x: \\ \nabla_x l(x, \lambda) = 0 = 2x+ a^t\lambda \\ 得出 x = -\frac a^t \lambda \\ 代入\)

\(g(\lambda) = inf_x [x^tx + \lambda ^t (ax-b)] \\ = (-\frac a^t \lambda) ^t (-\frac a^t \lambda) + \lambda ^t[a( -\frac a^t \lambda)-b]\)

\(= \frac \lambda^t a a^t \lambda - \frac \lambda^t aa^t \lambda - \lambda^tb\)

$ = - \frac \lambda^t aa^t \lambda - \lambda^tb $

即: $ p* >= - \frac \lambda^t aa^t \lambda - \lambda^tb $

即對應的dual:

\(max \ z = - \frac \lambda^t aa^t \lambda - \lambda^tb \\ s.t. ..\)

case2: linear programing

\(min \ w^tx \\ s.t. \\ ax=b \\ x \succ =0\)

先進行標準化得到:

\(min \ w^tx \\ s.t. \\ ax=b \\ -x <=0\)

引入拉格朗日函式得:

\(l(x, \lambda, \nu) = w^tx + \lambda^t (ax-b) + \nu ^t(-x)\)

\(= w^tx + \lambda^t ax - \lambda ^tb -\nu^t x\)

\(= (w + a^t \lambda - \nu) x -\lambda^tb\)

同樣首先"固定x:"

\(\nabla_x l(x, \lambda, \nu) = 0 = w + a^t \lambda -v \\ 得出: x 好像不影響哦\)

將不影響的x 代入g得到:

\(g(\lambda, \nu) = inf_x ( -\lambda^tb)\)

即對應的 daul:

\(max \ -\lambda ^t b \\ s.t. \ w+a^t \lambda- \nu = 0\)

發現 \(\nu >0\) 其實跟木目標函式無關, 即可轉為:

\(max \ -\nu ^t b \\ s.t. \ w+a^t >= 0\)

由上, 關於primal 問題和 dual 問題, 如果其最優解分別是 p* 和 d* ,

根據 lower bound property 的推導則有**p * >= d * ** :

強對偶(strong) ,一般情況下不會發生, 在凸函式下一般會成立; 對於non-convex 有時是會成立的. 針對於convex 判斷其是強對偶的條件稱為:

slater's condtions

即: \(minmize \ f_0(x) \\ s.t. \\ f_i(x) <=0, i=1,2,..m \\ h_j(x) = 0, j = 1,2...p\)

\(\exists \ x', f_i(x') <0, h_j(x')=0\)

則稱滿足 slater's conditons, 可判定該凸函式是強對偶的哦.

暫時我也不知道該怎麼進行翻譯, "鬆弛條件?", 感覺也不大合理. 算了, 就英文吧, 反正都是乙個符號而已. 假設, 我們來來*考慮強對偶的情況下(p * = d ):

\(minmize \ f_0(x) \\ s.t. \\ f_i(x) <=0, i=1,2,..m \\ h_j(x) = 0, j = 1,2...p\)

即有

\(f_0(x^*) = g(\lambda^*, \nu^*) \\ 對於 \\ inf_x [f_0(x) + \sum _^ \lambda_i ^* f_i(x) + \sum _^p \nu_i^*h_i(x) ]\)

必然:\(<= inf_x [f_0(x^*) + \sum _^ \lambda_i ^* f_i(x^*) + \sum _^p \nu_i^*h_i(x^*) ]\)

\(<= f_0(x^*)\)

這就發現有點矛盾(= 和 <=)了, 要使不等式成立的話, 發現只能取等於哦, 即:

\(\lambda^* f_i(x^*)=0\), 這樣也就意味著2種情況:

把這個條件: \(\lambda^* f_i(x^*)=0\) 就稱為 complementary slackness, 它是構成kkt條件的一部分, 後面再整一波kkt吧.

優化命題的對偶性(Duality)

本文用以介紹和分析帶有約束的優化命題的對偶性 duality 給出對偶命題的推導方面,並舉例說明。主要參考的是jorge nocedal 和 stephen j.wright 的 numerical optimization 一書 第二版 考察如下的只含不等式約束的一般性優化命題 minx r nf...

ML 初識機器學習

arthur samual 1959 在沒有明確設定的情況下,使計算機具有學習能力的研究領域。機器學習是研究使計算機完成複雜任務並且無須對其進行明確程式設計的科學學科,機器學習中的演算法將學習如何解決給定的任務,這些演算法包括來自統計學 概率論和資訊理論的方法和技術。機器學習專案由多個步驟組成,通常...

對偶問題 對偶單純型法

對偶理論 對偶單純型法 靈敏度分析 m ax maxma x配 leqslant mi nmin min配 geqslant 目標函式檢驗數與右端項調換 係數轉置 m ax maxma x配 leqslant mi nmin min配 geqslant 目標函式檢驗數與右端項調換 係數轉置 約束,係...