凸優化學習 (二)優化問題的分類

2021-10-03 15:05:23 字數 1649 閱讀 5938

1、線性規劃/非線性規劃(linear/nonlinear program)

線性規劃

文字:所有的函式(目標函式,約束函式)都是線性函式

數學:所有函式都形如

f i(

αx+β

y)=α

fi(x

)+βf

i(y)

∀i=0

,1,⋯

,nf_i(\alpha x+\beta y)=\alpha f_i(x)+\beta f_i(y)\ \ \ \forall i=0,1,\cdots ,n

fi​(αx

+βy)

=αfi

​(x)

+βfi

​(y)

∀i=0

,1,⋯

,n例1:

其中六邊形內的是可行解集合。

可以明顯看出,線性規劃的特點是:

①最優解只會出現在頂點上而不是邊上

②一定是凸的

這是很好的性質。

非線性規劃

只要有乙個函式非線性就為非線性規劃。

其中需要注意的是二次規劃(目標函式二次,約束線性)和二次約束的二次規劃問題,之後會學習。

2、凸優化/非凸優化(convex/non convex optimization)

凸優化minimizef0(

x)f_(x)

f0​(x)

\quad\ f_i(x)\leq,\ \ i=1,2,\cdot\cdot\cdot,n\rbrace

fi​(x)

≤bi​

,i=1

,2,⋅

⋅⋅,n

}其中:

x =[

x1,⋯

,xn]

x=[x_1,\cdots,x_n]

x=[x1​

,⋯,x

n​]:優化變數

f 0(

x)f_0(x)

f0​(x)

:object function(目標函式),必須為凸函式。

f i(

x)f_i(x)

fi​(x)

:inequality constraint(不等式約束),必須為凸函式,其約束的x的集合必須為凸集。

非凸優化

相對於凸優化的乙個定義,只要上述有一條不滿足就是非凸優化了。

3、光滑/非光滑優化(對於目標函式而言)(光滑指函式每一點可微)

4、連續/離散(針對可行域)

5、單目標/多目標(目標函式個數)顯然,凸優化是優化裡面最值得研究的,而線性規劃又是凸優化裡面性質最好的問題。對於乙個線性規劃問題來說,我們甚至不需要去進行梯度下降,只需遍歷頂點即可(當然對於頂點序列的尋找需要有先驗知識或者特定方法)。凸優化有些性質,比如約束越多優化速度越慢,但如果最終能將乙個普通的凸優化問題轉換為等價的線性規劃問題的話,即使約束稍多也是可以接受的。

《凸優化》學習筆記(一)

凸優化在數學優化中有著重要且特殊的身份。數學優化是乙個廣泛的話題,理解凸優化之前,請先理解線性優化。在機器學習演算法中,已知的比如logisticregression,svm,都與數學優化有關,在數學中,不存在無約束優化問題。比較常見的構建損失函式方法,從最簡單的兩個向量的二階範數的平方 knn,k...

凸優化學習筆記 1 凸集

筆記是根據 convex optimization 寫的,序號對應章。2 凸集 2.1 凸集 convex sets 如果在集合 c 中的任意兩點滿足 x 1 1 x 2 c其中 0 1 則集合 c 為凸集 2.2 重要例子 1 超平面與半空間 hyperplanes and halfspaces ...

優化問題,凸優化,凸二次優化問題

首先 優化問題通常喜歡求解最小值min 如果要求max就給他轉換過來 如何來判斷乙個函式是否是凸函式呢?對於一元函式f x 我們可以通過其二階導數f x 的符號來判斷。如果函式的二階導數總是非負,即f x 0 則f x 是凸函式對於多元函式f x 我們可以通過其hessian矩陣 hessian矩陣...