文章目錄
本章來自Ryan Tibshirani的Convex Optimization: Fall 2019課程的Convexity II: Optimization basics小節。
先看一個比較容易理解的概念:最優解組成的集合是一個convex set
如果強凸的函數f,最優解是唯一的:
重寫約束條件
限制條件在形式上也可以寫成這樣的形式(Indicator函數的形式很常見)
對凸函數來說,Local min就是Global min
下面是幾個基本技巧:
部分優化:
如果有兩個(多個)變量的優化函數,我們可以先求一個變量的最優解(表示成另一個變量的函數),然後優化這個最優解函數。
消除等式約束:
其實有點複雜,不是很明白動機。把x轉化爲My+x0,要求M的列空間等於A的零空間。這裏可以稍微補充一句關於線性代數中矩陣列空間和零空間的概念[2][3][4]。
- 列空間:列空間是指由矩陣A的列向量線性組合而成,因此稱爲該矩陣的列空間。Col(A) = span(v1,v2,…,vn),其中vi是A的列向量。
- 零空間:矩陣A的零空間就Ax=0的解的集合,是方程特解的任意線性組合。記爲Null(A)。
引入Slack變量:
讓不等式變方向,並且不是一個函數而是一個變量。但是多了一個等式約束。
例子: SVM的hinge loss form
SVM如果引入鬆弛因子,就可以寫成hinge function形式:
凸函數的一階最優條件(First-order optimality conditions)
對於一個凸優化問題,有定義域C,如果函數可微,那麼一個點是最優點,當且僅當:
在無限制優化問題中,unconstrained optimization, 該最優條件退化爲
例子:二次優化
因爲是unconstrained optimization, 最優條件爲。根據是不是正定矩陣,有一些不同的解,如下:
(其中,如果是正定矩陣,雖然可以得到一個closed form解,但是我理解除非矩陣規模很小,否則求逆的代價還是太大了,因此還是會選擇一些其他迭代式的二次優化方法來求解,而不是直接求逆。)
參考資料
[1] http://www.stat.cmu.edu/~ryantibs/convexopt/scribes/convex-opt-scribed.pdf
[2] https://blog.csdn.net/tengweitw/article/details/40039373
[3] 線性子空間,零空間與列空間, https://www.q-math.com/?page_id=1430
[4] 線性代數(十) : 矩陣的列空間與零空間, https://www.cnblogs.com/wuoshiwzm/p/7339553.html