在約束最優化問題中,常用拉格朗日對偶性將原始問題轉換為對偶問題求解。
稱最優化問題
$\begin \begin \min\limits_ f(x)\\ \begin \text\;\;&c_i(x) \le 0,\;\;i=1,2,...,k \\ &h_j(x)=0,\;\;j=1,2,...,l \end \end \end $
為原始最優化問題。使用以上優化問題構造廣義拉格朗日函式:
$l(x,\alpha,\beta) = f(x)+\sum\limits_^k\alpha_ic_i(x)+\sum\limits_^l\beta_jh_j(x)$
其中$\alpha_i\ge 0,\beta_j\in r$是拉格朗日乘子。可以發現,對於違反原始問題約束的$x$,即存在某個$c_i(x)>0$,或某個$h_j(x)\ne 0$,有:
$\max\limits_l(x,\alpha,\beta) = +\infty$
因此有:
$\begin \max\limits_l(x,\alpha,\beta) = \left\ &f(x),\;\;x滿足原始條件約束\\ &+\infty,\;\;else \end \right. \end $
因此原始問題的最優值可以表示為:
$p^* = \min\limits_\max\limits_l(x,\alpha,\beta)$
從而將約束條件與待優化問題結合到了一起,稱為廣義拉格朗日函式的極小極大問題。
將極小極大交換一下,得到
$d^* = \max\limits_\min\limits_l(x,\alpha,\beta)$
即為原始問題的對偶問題的最優值。對偶問題轉換為帶條件的形式就是:
$\begin &\max\limits_\min\limits_ l(x,\alpha,\beta)\\ &\;\text\;\;\alpha_i\ge 0, \;\; i=1,2,...,k \\ \end$
如果原始問題與對偶問題都有最優值,$p^*$和$d^*$,則:
$d^*= \max\limits_\min\limits_l(x,\alpha,\beta)\le \min\limits_\max\limits_l(x,\alpha,\beta)= p^*$
以下說明原因。
假設$\min\limits_x\max\limits_yf(x,y)$
$\max\limits_y\min\limits_xf(x,y)$
分別在$(x_0,y_m)$處取得最小最大值和在$(x_m,y_0)$處取得最大最小值。則有下列不等式成立:
$\min\limits_x\max\limits_yf(x,y)=f(x_0,y_m)\ge f(x_0,y_0)\ge f(x_m,y_0)=\max\limits_y\min\limits_xf(x,y)$
第乙個大於等於號是因為,對於固定的$x=x_0$, $f(x_0,y_m)$是所有$f(x_0,y)$中最大的。
第二個大於等於號是因為,對於固定的$y=y_0$, $f(x_m,y_0)$是所有$f(x,y_0)$中最小的。
某些情況下,對偶問題與原始問題有相等的最優值,即對於同樣的$x^*,\alpha^*,\beta^*$,有$d^* = p^*$,這時解對偶問題可以替代原始問題,條件如下:
1、$f(x)$和$c_i(x)$是凸函式;
2、$h_j(x)$是仿射函式,即一次函式;
3、不等式約束$c_i(x)$是嚴格可行的,即存在$x$,對所有$i$有$c_i(x)<0$。如果不存在這樣的$x$的話,實際上就是等式約束了。這是因為,每個$x$都會使某個不等式約束取等號,也就可以僅使用等式約束來表示這些$x$了。
此時有:
$p^*=d^*=l(x^*,\alpha^*,\beta^*)$
且算出$x^*,\alpha^*,\beta^*$的充要條件是(kkt條件):
上圖顯示了優化的乙個情況。等高線表示的是待優化函式$f(x)$($x$二維),越向中心,值越小,是個標準的凸函式。紅圈表示不等式約束(內部),是個凸函式。藍線表示等式約束(線上),是仿射函式。則$x$可取的值在紅圈內部的藍線和紅藍線的兩個交點上。可觀察有如下幾個符合kkt條件的事實:
1、三個白色箭頭分別表示三個函式的加權梯度方向,此時有三個梯度的加權向量和為0,與kkt條件中的1式吻合。
2、因為最優點在紅圈上,因此不等式約束取等為0,有2式。
3、3式和5式是原本的約束條件。
4、觀察不等式約束的加權梯度朝向為向外,也就是$\alpha$,符合2式。如果$\alpha<0$的話,三個梯度的加權向量和就不可能為0了,1式也不可能滿足。
拉格朗日乘子法 KKT條件 拉格朗日對偶性
拉格朗日乘子法 lagrange multiplier 拉格朗日乘子法是一種尋找有等式約束條件的函式的最優值 最大或者最小 的最優化方法.在求取函式最優值的過程中,約束條件通常會給求取最優值帶來困難,而拉格朗日乘子法就是解決這類問題的一種強有力的工具.單約束問題 考慮以下的二維單約束優化問題 max...
拉格朗日對偶性
在支援向量機中,需要用拉格朗日對偶性將原始問題轉換成對偶問題,解得對偶問題的解從而得到原始問題的解。在此簡單介紹拉格朗日對偶性的基本原理和方法。假設f x ci x hj x 是定義在rn 上的連續可微函式。考慮約束最優化問題 minx r nf x s.t ci x hj x 0,i 1,2,k ...
拉格朗日對偶性
拉格朗日對偶性常常被用來解決有約束條件的最優化問題,在最大熵模型或者支援向量機的優化中最為常見,其主要思路就是將帶約束條件的原始為題轉換為沒有約束條件的對偶問題。首先呈現以下原始問題,我們在做優化的時候,會遇到需要優化乙個函式 f x 這個函式還帶著兩個約束條件,這裡分別用 ci x 和 hj x ...