对凸优化(Convex Optimization)的一些浅显理解
?作者 |?李航前
單位 |?EPFL
研究方向 |?計算機圖形學與三維視覺
最近學習了一些凸優化課程,整理筆記的同時寫下一些自己的理解,向著頭禿的道路上越走越遠。
凸優化是應用數學的一個基本分支,幾乎在工程、基礎科學和經濟學的所有領域都有應用。例如,如果不理解凸優化的對偶理論,就不可能完全理解統計學習中的支持向量機(SVM)、電力市場中的節點定價、經濟學中的基本福利定理或兩人零和博弈中的納什均衡。在計算機 AI 算法學習中,凸優化也是必要的一環。
先來做一些鋪墊,引用自 EPFL 的凸優化課程,首先來看一個數學優化問題,如下圖,該問題是為了尋找目標函數的最小值,其中涉及了目標函數,決策變量,可行域等概念。
▲ from MGT-418 Convex Optimization?
下面在說下確界的問題,下確界一定有(可以是負無窮)但是最小值不一定有。
▲?from MGT-418 Convex Optimization
▲ from MGT-418 Convex Optimization
以上說了全局最小值,但是一些情況下沒有辦法獲得全局最小值,所以就要去計算局部最小值。它叫 優化問題。
▲ from MGT-418 Convex Optimization
下圖可視化展示了全局最小值和局部最小值的區別。
有了一些直觀的認識和淺顯的理解,下面我們來具體聊凸函數的概念及判定方法、凸集、常見目標函數。
凸集和凸函數
從函數的凹凸性而言,我們通常把函數分為凸函數和非凸函數。凸函數是有且只有全局最優解的,而非凸函數可能有多個局部最優解,這些特性我會在下文中進行詳細解釋。在前言中,我提到過優化問題是機器學習模型中的核心部分,而針對不同模型,有不同的方法論對其目標函數進行優化。例如針對邏輯回歸、線性回歸這樣的凸函數,使用梯度下降或者牛頓法可以求出參數的全局最優解,針對神經網絡這樣的非凸函數,我們可能會找到許多局部最優解。
不難看出,我們希望在實際解決問題過程中,都希望我們建立的目標函數是凸函數,這樣我們不必擔心局部最優解問題,但實際上,我們遇到的問題大多數情況下建立的目標函數都是非凸函數,因此我們需要根據場景選擇不同的優化方法。
凸優化定義
就定義而言,凸優化是:在最小化(最大化)的優化要求下,目標函數是凸函數且約束條件所形成的可行域集合是一個凸集的優化方法,因此凸優化的判定條件有兩個,1.函數定義域是凸集 2.目標函數是凸函數。
凸集的定義:假設對于任意 x, y ∈ C and 任意參數 α ∈ [0, 1], 我們有 αx + (1 ? α)y ∈ C,集合 C 為凸集。
凸集的理解:對凸集的理解,我們可以分別從理論定義的角度和函數圖像的角度兩方面理解。從定義上講,對于集合 C 中的任意兩個元素 x 和 y,需要滿足 αx + (1?α)y 的值也需要在集合 C 中;從函數圖像角度講,這個定義中的式子含義是,x、y 兩點連線上的任意一個點都需要屬于集合 C,如下圖所示,任何證明集合是凸集的方法都可以通過定義和函數圖像兩方面進行。
凸集的性質:兩個凸集的交集也是凸集。(注意,兩個凸集的并集就不一定還是凸集了)
常見凸集與證明方法:
凸函數定義:函數 f 的定義域為凸集,對于定義域里的任意 x, y,函數滿足:
凸函數與凹函數之間的關系:如果 f(x) 是凸函數,則 -f(x) 是凹函數
凸函數的證明方法(函數定義域為凸集的前提下):
常見凸函數及證明
常見目標函數
針對一個 AI 問題,我們都可以將 AI 問題拆解為建立模型+優化模型這兩塊內容的,對于任何一個 AI 問題,其目標函數都可以用以下形式表示:
我將解決業務問題中的常用套路稱為算法思維,并總結了以下 4 個重要步驟:
將業務場景中需要解決的問題轉化為數學問題,并寫出嚴格的數學模型(目標函數)
針對寫出的數學模型判斷凹凸性
根據目標的函數的凹凸性判斷問題類型(如果目標函數是凸函數,我們需要判斷該函數所屬問題類型,常見的問題類型有 Linear Programming、Quadratic Programming 等;如果目標函數是非凸函數,也需要判斷其所屬問題類型,常見有 Setcover Problem,Max flow Problem 等)
根據不同的問題類型使用不同的優化方法論解決問題。
其實在實際解決問題的過程中,其實大家都不太會在意第 1,2 個步驟點,可能都會直接通過經驗去查找相應的工具解決問題,但是這樣的解決思路是不太好的,因為在這個過程中,我們可能不知道需要解決的問題和我們選擇的工具是否匹配,如果結果不太理想,我們可能也不知道其中的原因。但是如果我們在解決問題前,定義了嚴格的目標函數,我們不僅可以針對該目標函數選擇相應的優化方法,也可以根據業務場景,對目標函數進行相應調整,增加項目的成功率。
而實際工作中常見的目標函數大概有以下:
參考文獻
[1] EE-556:https://moodle.epfl.ch/course/view.php?id=14220
[2] MGT-418:https://moodle.epfl.ch/course/view.php?id=15778
[3] AI工程師必備技能-凸優化介紹:https://www.jiqizhixin.com/articles/2019-01-23-15
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的对凸优化(Convex Optimization)的一些浅显理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国六B标准什么时候实施?影响买车吗?
- 下一篇: 红旗hs5经济模式省油吗