凸集的定義為:
其幾何意義表示為:如果集合c中任意2個元素連線上的點也在集合c中,則c為凸集。其示意圖如下所示:
常見的凸集有:
n維實數空間;一些範數約束形式的集合;仿射子空間;凸集的交集;n維半正定矩陣集;這些都可以通過凸集的定義去證明。
凸函式的定義為:
其幾何意義表示為函式任意兩點連線上的值大於對應自變數處的函式值,示意圖如下:
凸函式的一階充要條件為:
其中要求f一階可微。
二階充要條件為:
其中要求f二階可微,表示二階導數需大於0才是凸函式。
按照上面的兩個定義,如果f(x)=x^2肯定是凸函式,而g(x) = -x^2是非凸函式。也就是說開口向下的函式是非凸函式,但是對於這種情況可以通過新增負號變成凸函式,從而求解。
常見的凸函式有:指數函式族;非負對數函式;仿射函式;二次函式;常見的範數函式;凸函式非負加權的和等。這些可以採用上面2個充要條件或者定義去證明。
凸優化問題(opt)的定義為:
即要求目標函式是凸函式,變數所屬集合是凸集合的優化問題。或者目標函式是凸函式,變數的約束函式是凸函式(不等式約束時),或者是仿射函式(等式約束時)。
對於凸優化問題來說,區域性最優解就是全域性最優解。
常見的凸優化問題包括:
線性規劃(lp):該問題是優化下面的式子:
其中那個不常見的奇怪符號表示按元素小於等於,後面出現類似符號可以類似理解。
二次規劃(qp):該問題是優化下面的式子:
二次約束的二次規劃(qcqp):該問題是優化下面的式子:
半正定規劃(sdp):該問題是優化下面的式子:
按照文章說sdp在機器學習領域應用很廣,最近很流行,不過我好像沒太接觸到過。
關於凸優化的一些簡單概念
沒有系統學過數學優化,但是機器學習中又常用到這些工具和技巧,機器學習中最常見的優化當屬凸優化了,這些可以參考ng的教學資料 從中我們可以大致了解到一些凸優化的概念,比如凸集,凸函式,凸優化問題,線性規劃,二次規劃,二次約束二次規劃,半正定規劃等,從而對凸優化問題有個初步的認識。以下是幾個重要相關概念...
關於凸優化的一些簡單概念
沒有系統學過數學優化,但是機器學習中又常用到這些工具和技巧,機器學習中最常見的優化當屬凸優化了,這些可以參考ng的教學資料 從中我們可以大致了解到一些凸優化的概念,比如凸集,凸函式,凸優化問題,線性規劃,二次規劃,二次約束二次規劃,半正定規劃等,從而對凸優化問題有個初步的認識。以下是幾個重要相關概念...
關於凸優化的一些簡單概念
沒有系統學過數學優化,但是機器學習中又常用到這些工具和技巧,機器學習中最常見的優化當屬凸優化了,這些可以參考ng的教學資料 從中我們可以大致了解到一些凸優化的概念,比如凸集,凸函式,凸優化問題,線性規劃,二次規劃,二次約束二次規劃,半正定規劃等,從而對凸優化問題有個初步的認識。以下是幾個重要相關概念...