1. 程式人生 > >凸優化簡介 Convex Optimization Overview

凸優化簡介 Convex Optimization Overview

最近的看的一些內容好多涉及到凸優化,沒時間系統看了,簡單的瞭解一下,凸優化的兩個基本元素分別是凸函式與凸包

凸集

凸集定義如下:

1

也就是說在凸集內任取兩點,其連線上的所有點仍在凸集之內。

1

凸函式

凸函式的定義如下:

1

θx+(1−θ)yθx+(1−θ)y的意思就是說在區間 (x,y)(x,y) 之間任取一點 y–θ(y−x)y–θ(y−x) 即為 θx+(1−θ)yθx+(1−θ)y , 凸函式的幾何意義表示為函式任意兩點的連線上的取值大於該點在函式上的取值,幾何示意圖形如下:

1

凸函式的一階充要條件:

1

一階充要條件的意思是說 ff 可微 ,ff 是凸函式當且僅當其切線在某點的取值小於函式本身在該點的取值,一階充要條件的圖形如下:

1

凸函式的二階充要條件:

1

其中要求 ff 二階可微,表示二階導數在其定義域上需大於 00 才是凸函式。

凸優化

有了以上兩個概念,接下來就是凸優化了,凸優化問題通常有如下的形式:

1

這裡 ff 為凸函式,CC 為凸包,通常還可以寫作如下的形式:

1

這不就是約束規劃問題麼,這裡 ff 為凸函式,gi(x)gi(x) 為凸函式, hi(x)hi(x) 為仿射函式,這麼多的約束會把空間約束成如下的形式:

1所以只需要在 x∗x∗ 的範圍裡求解即可。對於凸優化問題來說,只有一個全域性極值點,性質非常好,直接對偶啊,拉格朗日啊什麼的往上招呼就可以了。

凸優化問題有一些特殊的形式,比如說線性規劃,二次規劃,二次約束的二次規劃,與半正定規劃,這些特殊形式使得我們可以使用更加優化的方式來求解。

線性規劃:

QQ截圖20160801170336

接下來是二次規劃:

1

二次約束二次規劃:

1

參考: cs229 note