今天開始學Convex Optimization:第3章(part2) Optimization basics

本章來自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,如果函數ff可微,那麼一個點xx是最優點,當且僅當:
f(x)T(yx)0yC\nabla f(x)^T (y-x) \geq 0, \forall y \in C

在無限制優化問題中,unconstrained optimization, 該最優條件退化爲f(x)=0\nabla f(x) = 0
在這裏插入圖片描述

例子:二次優化

因爲是unconstrained optimization, 最優條件爲f(x)=0\nabla f(x) = 0。根據QQ是不是正定矩陣,有一些不同的解,如下:

(其中,如果QQ是正定矩陣,雖然可以得到一個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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章