拉格朗日對偶性常常被用來解決有約束條件的最優化問題,在最大熵模型或者支援向量機的優化中最為常見,其主要思路就是將帶約束條件的原始為題轉換為沒有約束條件的對偶問題。
首先呈現以下原始問題,我們在做優化的時候,會遇到需要優化乙個函式 f(
x),這個函式還帶著兩個約束條件,這裡分別用 ci
(x) 和 hj
(x) 來表示,寫成數學表示式就是:
minx∈r
nf(x
) s.t. ci
(x)≤
0,i=
1,2,
3...hj
(x)=
0,j=
1,2,
3...
首先要引入拉格朗日函式(generalized lagrange function)
也就是通過拉格朗日乘子 α,
β 將原始問題附帶的約束條件( ci
(x) 和 hj
(x) )融合進需要優化的目標函式( f(
x))中,同時形成新的函式( l(
x,α,
β))的過程,具體的數學表示式為:l(
x,α,
β)=f
(x)+
∑i=1
kαic
i(x)
+∑j=
1lβj
hj(x
) 這裡需要注意乙個前提條件是 αi
≥0,有時候這個條件也會被拿來解後續的方程
通過這樣的轉換,原始問題就變成了:θp
(x)=
maxα,β
:αi≥
0l(x
,α,β
) 再加上之前需要做極小化的優化,那麼就是:
minxθp
(x)=
minx
maxα,β
:αi≥
0l(x
,α,β
) 後者被稱為廣義拉格朗日函式的極小極大問題,也就是先求min再求max。
假設有θd(
α,β)
=minxl
(x,α
,β) ,
然後在求 θd
(α,β
) 的極大值,即
maxα,β
:αi≥
0minxl
(x,α
,β) ,的這樣乙個過程被稱為廣義拉格朗日函式的極大極小問題。如果將這個問題表示為數學格式,則是:
maxα,β
θd(α
,β)=
maxα,β
minxl(
x,α,
β)
s.t. αi
(x)≥
0,i=
1,2,
3...
我們先分別設定原始問題和對偶問題的最優解為:p和dp=
minxθp
(x)
d=maxα,
β:αi
≥0θd
(α,β
) 對於任意的 α,
β,x :θd
(α,β
)=minxl(
x,α,
β)≤l
(x,α
,β)≤
maxα,β
:αi≥
0l(x
,α,β
)=θp
(x)
即:θd
(α,β
)≤θp
(x)
由於原始問題和對偶問題都有最優解,所以有 d≤
p 。特別地,當上式得等號成立的時候,有一組特殊的 x,
α,β 既是原始問題的解,又是對偶問題的解。換句話說,如果我們有條件可以令 d=
p 的話,兩種問題的解可以互換,於是我們就可以通過解對偶問題來解原始問題了。
拉格朗日對偶性
在支援向量機中,需要用拉格朗日對偶性將原始問題轉換成對偶問題,解得對偶問題的解從而得到原始問題的解。在此簡單介紹拉格朗日對偶性的基本原理和方法。假設f x ci x hj x 是定義在rn 上的連續可微函式。考慮約束最優化問題 minx r nf x s.t ci x hj x 0,i 1,2,k ...
拉格朗日對偶性
在約束最優化問題中,常常會利用到拉格朗日對偶性求解。在常用的機器學習演算法中,支援向量機和最大熵模型都使用到該方法求最優解。因為後面將要講到這兩個演算法,所以先介紹這種方法作為知識的鋪墊。對於有約束的問題,拉格朗日對偶性是將原始問題轉化為最優問題,通過求解對偶問題而得到原始問題的解。一 原始問題 假...
拉格朗日對偶性 Lagrange duality
有時候原問題 primal problem 不太好解,但是對偶問題 dual problem 卻很好解,我們就可以通過求解對偶問題來迂迴地解答原問題。通過下面兩步,構造拉格朗日函式為 1.引入 鬆弛變數 kkt乘子 j j 0 把不等式約束條件轉化為等式約束條件。2.入拉格朗日乘子 k把等式約束轉化...