凸優化概念

2021-07-31 21:50:38 字數 1644 閱讀 8806

沒有系統學過數學優化,但是機器學習中又常用到這些工具和技巧,機器學習中最常見的優化當屬凸優化了,這些可以參考ng的教學資料:從中我們可以大致了解到一些凸優化的概念,比如凸集,凸函式,凸優化問題,線性規劃,二次規劃,二次約束二次規劃,半正定規劃等,從而對凸優化問題有個初步的認識。以下是幾個重要相關概念的筆記。

凸集的定義為:

其幾何意義表示為:如果集合c中任意2個元素連線上的點也在集合c中,則c為凸集。其示意圖如下所示:

常見的凸集有:

n維實數空間;一些範數約束形式的集合;仿射子空間;凸集的交集;n維半正定矩陣集;這些都可以通過凸集的定義去證明。

凸函式的定義為:

其幾何意義表示為函式任意兩點連線上的值大於對應自變數處的函式值,示意圖如下:

凸函式的一階充要條件為:

其中要求f一階可微。

二階充要條件為:

其中要求f二階可微,表示二階導數需大於0才是凸函式。

按照上面的兩個定義,如果f(x)=x^2肯定是凸函式,而g(x) = -x^2是非凸函式。也就是說開口向下的函式是非凸函式,但是對於這種情況可以通過新增負號變成凸函式,從而求解。

常見的凸函式有:指數函式族;非負對數函式;仿射函式;二次函式;常見的範數函式;凸函式非負加權的和等。這些可以採用上面2個充要條件或者定義去證明。

凸優化問題(opt)的定義為:

即要求目標函式是凸函式,變數所屬集合是凸集合的優化問題。或者目標函式是凸函式,變數的約束函式是凸函式(不等式約束時),或者是仿射函式(等式約束時)。

對於凸優化問題來說,區域性最優解就是全域性最優解。

常見的凸優化問題包括:

線性規劃(lp):該問題是優化下面的式子:

其中那個不常見的奇怪符號表示按元素小於等於,後面出現類似符號可以類似理解。

二次規劃(qp):該問題是優化下面的式子:

二次約束的二次規劃(qcqp):該問題是優化下面的式子:

半正定規劃(sdp):該問題是優化下面的式子:

按照文章說sdp在機器學習領域應用很廣,最近很流行,不過我好像沒太接觸到過。

凸優化 非凸優化

凸 convex vs 非凸的概念,數學定義就不寫了,介紹個直觀判斷乙個集合是否為convex的方法,如下圖 簡單的測試乙個集合是不是凸的,只要任意取集合中的倆個點並連線,如果說連線段完全被包含在此集合中,那麼這個集合就是凸集,例如左圖所示。凸優化有個非常重要的定理,即任何區域性最優解即為全域性最優...

凸優化 python解決凸優化問題

1 安裝cvx包 用pip安裝cvxopt 1.2.1 cp36 cp36m win amd64.whl和cvxpy 1.0.9 cp36 cp36m win amd64.whl 因為我是python3.6所以是cp36 cvxpy cvxopt 參考 2 遇到問題 error microsoft ...

凸優化學習 (十四)凸問題的相關概念和定義

今天開始學習凸問題。1 什麼是凸問題convex problems text convex problems 凸問題,即可以使用凸優化技術進行處理的一類具有良好性質的優化問題,形如 min f 0 x s.t.fi x 0,i 1 mh i x 0,i 1 p begin min qquad f 0...