从放弃到再入门之拉格朗日对偶问题推导(转)
從放棄到再入門之拉格朗日對偶問題推導(轉(zhuǎn))
2018年04月17日 16:15:33?EFLYP?普通同學的解法
然而發(fā)現(xiàn),有些情況消元特別復雜,甚至不能求解
聰明同學的解法
?
發(fā)現(xiàn):在最優(yōu)點的情況下,約束曲面的法向量和目標函數(shù)的梯度反向必相同或相反?
拉格朗日乘子法如何理解??(在2維里可以形象的解釋為z=f(x,y)在約束條件g(x,y)=c中,極值為等高線f(x,y)=k與g(x,y)=c相切的時候)?
于是就有了方程: ▽f(x*)+λ▽h(x*)=0?
聯(lián)合這個方程和h(x)=0,在某些情況比繁瑣的消元好多了,至少能求解
天才同學的解法(拉格朗日乘子法)
天才可不僅僅停留在方程求解,發(fā)現(xiàn)了梯度之間的關系,就可以建立新的函數(shù)(拉格朗日函數(shù)):L(x,λ)=f(x)+λh(x),分別對這個函數(shù)求偏導,即還原了初始問題。
同理,對于不等式約束問題,分情況討論,可以建立帶KKT條件的拉格朗日函數(shù):
?
?
KKT條件:?
?
其實KKT條件就是為了和原優(yōu)化問題等價而附帶的一些等式和不等式
說了這么多,是不是發(fā)現(xiàn)并沒有什么卵用,對應求導得出的還是和聰明同學的解法一樣,求導解方程求解。
接下來才是關鍵,?
?
?
此問題稱為原問題,你會很奇妙的發(fā)現(xiàn):?
原問題只有在滿足約束條件下才有極小值,等價于滿足約束條件的f(x)的極小值,于是問題轉(zhuǎn)化為拉格朗日極小極大問題:?
?
不妨設解為p*。
現(xiàn)在我們來直接下手求解原問題,先極大,對α,β求導,得出c(x)=0,h(x)=0,即原不等式和等式,再代入f(x),求極小,對x求導…..等等,好眼熟?不又回到了原點嗎?
好在有對偶問題可以再等價= =:
對偶問題
交換極大極小的順序(其實就是交換代入求導的順序),轉(zhuǎn)化為拉格朗日極大極小問題:?
不妨設對偶問題解為d*。?
現(xiàn)在我們來下手求解對偶問題,先極小,對x求導,得出x關于α,β的表達式,再代入f(x),再求極大,對α,β求導。
值得慶幸的是,數(shù)學家們已經(jīng)證明,當f(x)和c(x)為凸函數(shù),h(x)為仿射函數(shù)時,p*= d*。
總結
遇到等式和不等式約束優(yōu)化問題怎么辦:?
1.引入拉格朗日函數(shù)和KKT條件,轉(zhuǎn)為無約束優(yōu)化問題?
求導不好解怎么辦:?
2.轉(zhuǎn)為求對偶問題,更換求導代入再求導的順序(即先極小再極大)?
注意:求解時需要滿足KKT條件
普通同學的解法:消元求導?
聰明同學的解法:建立梯度關系,求導,解多元方程?
天才同學的解法:轉(zhuǎn)為對偶問題,消元求導
在SVM的應用
SVM不就是在一大堆不等式的約束的最優(yōu)化問題嗎,所以當然用天才同學的解法,轉(zhuǎn)為對偶問題,消元求導,可以帶來以下好處:
1.方便求解?
2.自然的引入核函數(shù)
在最大熵模型的應用
最大熵原理認為,學習概率模型時,在所有可能的概率模型中,熵最大的模型是最好的模型,簡單說就是,在沒有更多信息下,那些不確定的部分是“等可能的”。?
也就是約束等式下,熵最大問題,可等價轉(zhuǎn)為拉格朗日對偶問題。
轉(zhuǎn)載于:https://www.cnblogs.com/ciao/articles/10892829.html
總結
以上是生活随笔為你收集整理的从放弃到再入门之拉格朗日对偶问题推导(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CMDB 理论
- 下一篇: Java并发编程,3分分钟深入分析vol