〇、說明
凸優化主要學習《凸優化》(Stephen Boyd等著,王書寧等譯)[1]這本書。學習過程中,對其內容的理解時有困惑,也參考一些其他書籍資料。筆者盡量將這部分知識整理地簡潔明了,成此系列筆記。
如有錯誤疏漏,煩請指出。如要轉載,請聯系筆者,hpfhepf@gmail.com。
一、凸優化的優勢
凸優化之所以如此重要,是因為凸優化的重要特性:凸優化的任意局部最優解也是全局最優解。
二、最優性準則
2.1、無約束凸優化的最優性準則
2.2、等式約束凸優化的最優化準則
三、無約束凸優化問題求解
3.1、解析解
對于少數一些簡單的凸優化問題,可以利用最優性準則通過解析來求解。但對于大多數凸優化問題來講,是沒有辦法通過解析來求解的。
3.2、下降方法
下降方法中,有兩個問題需要解決:確定搜索步長和確定搜索方向。確定搜索步長的方法和算法有:固定步長搜索、精確直線搜索和回溯直線搜索。確定搜索方向的方法和算法有:梯度下降方法、最速下降方法和牛頓法。
3.3、確定步長的方法
1、固定步長搜索
步長值根據經驗設定,為了防止算法震蕩,值應當較小。優點:直觀、簡單;缺點:收斂速度慢。
2、精確直線搜索
3、回溯直線搜索
比較常用的是回溯直線搜索,大概思路是,用迭代方法求得的步長只要能使目標函數有足夠的減少即可。詳見《凸優化(五)——回溯直線搜索》。
3.4、調整搜索方向的方法
1、梯度下降方法
2、最速下降方法
利用目標函數的一階泰勒展開近似優化過程,進而確定學習方向。詳見《凸優化(六)——最速下降法》。
3、牛頓法
利用目標函數的二階泰勒展開近似表示目標函數,通過求解這個二次函數的極小值來確定搜索方向。詳見《凸優化(七)——牛頓法》。
四、等式約束凸優化問題求解
4.1、通過消除等式求解
任何等式約束優化問題都可以通過消除等式約束轉化為等價的無約束優化問題,然后利用無約束的方法求解。
4.2、通過Lagrange對偶問題求解
利用無約束優化問題求解對偶問題,然后從對偶解中復原等式約束問題的解。詳見《凸優化(八)——Lagrange對偶問題》。
4.3、等式約束的牛頓法
詳見《凸優化(七)——牛頓法》。
五、不等式約束凸優化問題求解
5.1、通過Lagrange對偶問題求解
利用無約束優化問題求解對偶問題,然后從對偶解中復原不等式約束問題的解。《凸優化(八)——Lagrange對偶問題》。
5.2、內點法
主要思路:引進的懲罰函數的在可行域的邊界上設置障礙,使求解的迭代過程始終在可行域內部進行。[2]
這里暫不詳述,待有時間再學習整理。
附錄
A、參考
[1]、《凸優化》,Stephen Boyd等著,王書寧等譯
[2]、《什么是內點法》
B、相關目錄
凸優化(四)——問題求解
C、時間線
2016-02-29 第一次發布
2016-08-07 修改文章名,重新整理完善