優化理論中,目標函式f(x)有多種形式:目標函式和約束條件都是x的線性函式,稱最優化問題為線性規劃;目標函式為二次函式,約束條件為線性函式,稱最優化問題為二次規劃;目標函式或約束條件為非線性函式,稱最優化問題為非線性規劃。
每個線性規劃問題都有對應的對偶問題,對偶問題性質:
對偶問題的對偶是原問題
原始問題是否為凸,對偶問題都是凸優化問題
對偶問題可以給原始問題乙個下界
滿足一定條件時,原始問題與對偶問題解完全等
下面例子中,原始問題非凸,對偶問題是凸:
原始問題
不等式約束優化問題:
定義拉格朗日如下:
根據以上拉格朗日得到結論:
(*)很容易驗證,因為 hi(x) = 0,而 gj(x) ≤ 0,βj ≥ 0,得 βjgj(x) ≤ 0,所以最大值是都取0時,這個時候只剩下 f(x) 。反之如果任意乙個約束條件不滿足,只需令其相應的乘子→ +∞,則 l(x, α, β)→ +∞,這樣導致問題無解,因此必須滿足約束條件。經過這一轉變,約束融合到一起得到如下無約束優化目標:
對偶問題
上式與原優化目標等價,稱作原始問題,將原始問題的解記做 p* ,如此便把帶約束問題轉化為無約束的原始問題,其實只是乙個形式上的重寫,方便找到其對應的對偶問題,首先為對偶問題定義乙個對偶函式:
有了對偶函式就可給出對偶問題了,只是把 min 和 max 交換了一下:
然後定義對偶問題的最優解即關於 α, β 的函式:
對偶問題和原始問題的最優解並不相等,而是滿足如下關係:
直觀理解為 最小的裡面中最大的那個 要比 最大的裡面中最小的那個 要大。證明過程:
對偶問題與原始問題的關係如下:這個性質便叫做弱對偶性,對所有優化問題都成立,即使原始問題非凸。即 d(α, β) ≤ f(x),自然而然得到:
即通過對偶性,為原始問題引入乙個下界,
d*≤ p*
。
這裡還有兩個概念:
f(x) - d(α, β)叫做對偶間隔,p*-d*叫做最優對偶間隔。
之前提到無論原始問題什麼形式,對偶問題總是乙個凸優化問題,這樣對於那些難以求解的原始問題(甚至np問題),均可通過轉化為對偶問題,通過優化這個對偶問題得到原始問題的乙個下界,與弱對偶性相對應的有乙個強對偶性,強對偶性滿足:
d* = p*
強對偶成立的情況下,可以通過求解對偶問題得到原始問題的解,在svm中就是這樣做的。
當然並不是所有的對偶問題都滿足強對偶性,在svm中是直接假定了強對偶性的成立,其實只要滿足一些條件,強對偶性是成立的,比如說slater條件與kkt條件。
slater條件
若原始問題為凸優化問題,且存在嚴格滿足約束條件的點 x,這裡「嚴格」指 gi(x) ≤ 0 中的「≤」嚴格取到「也就是說如果原始問題是凸優化問題並且滿足 slater 條件的話,那麼強對偶性成立。需要注意的是,這裡只是指出了強對偶成立的一種情況,並不是唯一的情況。例如,對於某些非凸優化的問題,強對偶也成立。svm 中的原始問題 是乙個凸優化問題(二次規劃也屬於凸優化問題),slater 條件在 svm 中指的是存在乙個超平面可將資料分隔開,即資料是線性可分的。當資料不可分時,強對偶是不成立的,這個時候尋找分隔平面這個問題本身也就是沒有意義了,所以對於不可分的情況預先加個 kernel 就可以了。=d∗=
l(x∗
,α∗,
β∗)'>p∗=d∗=l(x∗,α∗,β∗)
來自:
拉格朗日對偶
參考 說下自己的理解。使用對偶是為了更容易求解,使min max f w,a,b 設為p 轉化為 max min f w,a,b 設為d d p 當等號成立時,最優解相同。若等號成立,則f w,a,b 必為馬鞍面,既凸又凹。滿足kkt條件等號可成立。當約束g 0時,a 0,這樣的點才是支援向量。先將...
拉格朗日對偶函式 拉格朗日對偶問題
前段時間學了拉格朗日乘子法,學會了構造拉格朗日函式,也就是學會了把帶約束 等式或不等式 的優化問題轉化為無約束優化問題,私以為這部分就學完了到此為止了,沒想到今天推導svm的數學模型,要推原問題的對偶問題,愣是艱難地卡了大半天,一直沒明白對偶問題的含義,原來拉格朗日函式得到以後還要進一步往下推出拉格...
拉格朗日對偶,KKT,SVM
機器學習通常轉化為數學規劃問題,拉格朗日對偶是求解帶有約束的凸規劃的乙個重要的技巧。這篇文章從先從理論的角度,介紹拉格朗日對偶的基本思想,在從支援向量機的推導上,應用上面提及的定理。對於上面的問題,原問題是一般的數學規劃,此時並不要求目標函式和約束中為凸函式。對於任意的數學規劃,如問題p,都會存在乙...