大巖資本黃鉑:最優化算法的前世今生(中篇)

2020-12-25 美通社

深圳2020年7月16日 /美通社/ -- 近期,大巖資本成立七周年慶在深圳成功舉辦。周年慶上量化投資基金經理黃鉑博士結合生活實踐中的案例為大家深入淺出闡釋了最優化算法的前世今生。

從實際生活中最基礎的應用切入,黃鉑博士將抽象的算法概念生動化,解釋了什麼叫最優化問題、凸優化及算法分類、機器學習與人工智慧應用。

黃博士的分享內容較長,我們將分上、中、下三篇連載推出,本文為中篇。

凸優化問題中的最優值

凸優化的關鍵字在「凸」,我們要定義什麼樣的東西是凸的呢?看上圖,藍色區域代表優化問題裡變量可以取值的空間,當取值空間是凸的時候,這是凸優化的一個必要條件。那麼什麼樣的集合是凸的集合?我們在集合裡任意選兩點X、Y,我們將這兩點連成線,從X到Y的這條線上所有的點都必須在集合裡,只有這樣的集合才叫做凸的集合。相反,如果有任意一個點在集合之外,那就不是凸的集合。而對於一個凸優化的問題而言,它所有的變量取值必須來自於凸的集合。

所以說,對於所有的離散優化而言,它都不是凸優化的,因為它的取值其實不是一個空間,而是一個洞一個洞的,它是很多洞的集合。所以,通常求解這類問題時很困難,很多時候我們求解的都是一個局部最優值。在實際生活中,我們求解的都是局部優化的問題,而這類問題在所有問題中所佔比例是非常非常低的。

如果把整個集合看作一個優化問題的集合,那麼相對來講,比較小的一部分是屬於連續優化的問題,其他更大的區域屬於離散優化的問題,而在連續優化的空間裡只有很小的一部分屬於凸優化的問題。所以說,在最優化的領域裡,我們真正解決的只是實際問題中的冰山一角。

凸優化問題的經典算法

對於凸優化的問題,黃鉑博士給大家介紹幾個最經典的算法。

第一個算法,最速下降法。首先,我們看下圖,這是一個等高線,我們可以把它理解為我們的高樓,每一個圈代表一層,最中心是最高的位置,我們最終目標是用最快的方式上到中心位置。那麼,最速下降法是怎麼做的呢?比如從一樓上二樓可以有多種方法,很明顯我們從垂直方向往上跳,在局部來看是最快的,然後以這樣的方法上到最高層。

最速下降法有哪些特點呢?每一步都做到了最優化,但很遺憾的是,對於整個算法而言,它並不是非常好的算法。因為它的收斂速度是線性收斂,線性收斂對於最優化算法而言是一種比較慢的算法,但也是凸優化裡最自然的一個算法,最早被應用。

第二個算法,共軛梯度法。與最速下降法相比較(看下圖),綠色的線是最速下降法的迭代,從最外層到中心點可能需要五步迭代,但是共軛梯度法可能只需兩步迭代(紅色線)。

共軛梯度法最大特點是汲取前面的經驗再做下一步的動作,比如從四樓上五樓,我們會考慮方向是否最佳,汲取之前跳過的四步經驗,再探索新的方向往上跳。從數學的角度來講,每一步前進的方向和之前所有走過的路徑都是垂直的,因為這樣的性質,共軛梯度法的收斂速度遠遠高於最速下降法。

第三個算法,牛頓法。前面兩種算法,從數學的角度講,他們只用到了一階導數的信息,對於牛頓法而言,它不僅僅用到了局部一階導的信息,還用到了二階導的信息。相比前面兩種算法,牛頓法的每一步,它在決定下一步怎麼走時,不僅考慮當前的下降速度是否足夠快,還會考慮走完這一步後,下一步坡度是否更陡,下一步是否更難走。可見,牛頓法所看到的區間會更遠,收斂速度更快,屬於二階收斂速度。如果最速下降法需要100步的話,牛頓法就只需要10步,但也正因為牛頓法使用了二階導的信息,所以它需要更多的運算量。

第四個算法,擬牛頓法。1970年,Broyden、Fletcher、Goldfarb、Shanno四人幾乎同一時間發表了論文,對於傳統的牛頓法進行了非常好的改進,這個算法叫擬牛頓法,它的收斂速度與牛頓法相似,但是它不再需要計算二階導數,所以每一步的迭代速度大大增加。它是通過當前一階導數的信息去近似二階導數的信息,因此整個運算速度大幅度增加。由於這個算法是四個人幾乎同一時間發現的,所以也叫BFGS算法。下圖中的照片是他們四個人聚在普林斯頓時拍的,很幸運的是,Goldfarb是我博士時期的導師。

實際生活中,被應用最廣的兩種算法,一個是BFGS,另一個就是共軛梯度法。這兩種算法經常會出現在很多的程序包裡或者開原始碼裡,如果使用在大規模的優化問題或者成千上萬個變量的問題中,也會有非常好的效果。(待續下篇)

相關焦點

  • 案例實踐丨最優化算法的前世今生
    近期,大巖資本黃鉑博士結合生活實踐中的案例,深入淺出闡釋了最優化算法的前世今生。從實際生活中最基礎的應用切入,黃鉑將抽象的算法概念生動化,解釋了什麼叫最優化問題、凸優化及算法分類、機器學習與人工智慧應用。
  • Boosting算法的前世今生(上篇)
    微信公眾號:AIKaggle歡迎建議和拍磚,若需要資源,請公眾號留言;如果你覺得AIKaggle對你有幫助,歡迎讚賞Boosting算法的前世今生AdaBoost2.1 AdaBoost算法框架2.2 思考3. 梯度提升樹算法(GBDT/GBRT)3.1 梯度提升樹算法框架3.2 思考:3.3 GBDT 常用損失函數3.3.1 分類算法3.3.2 回歸算法3.4 梯度提升樹的正則化4. 關注AIKaggle5.
  • 啟發式算法在最優化問題求解中的應用與實踐
    本文介紹了最優化問題的常見應用場景和求解方式,並重點對啟發式算法在求解NP問題的次優解過程進行了分析。解決最優化問題的方法被稱為最優化方法,常見的最優化方法有以下幾類:1)梯度下降法;2)牛頓法;3)共軛梯度法;4)拉格朗日乘數法;5)啟發式算法。這五類算法每一種都有自己適用的場景和其優勢,因此在解決最優化問題前,分析應用場景,選取合適的最優化方法是首要任務。計算機科學的兩大基礎目標是:發現可證明其執行效率良好且可得到問題的最優解或次優解的算法。
  • 前世今生因果輪迴
    世界如此之大無奇不有,我們生活在這美好的世界裡,人生在世是否真的會有前世與今生。每一個人都在猜想,都在找答案。如果真的有前世,就會想到有沒有來世。前世與今生如果真的還有今生,那麼今生無法報答的恩情等到來世再報 。人世間是如此美好,今生修來的福分是前世的因果。好人必有好報。前世的因果,決定了今生的命運。
  • 最優化算法之牛頓法、高斯-牛頓法、LM算法
    上一篇文章中主要講解了最優化算法中的梯度下降法,類似的算法還有牛頓法、高斯-牛頓法以及LM算法等,都屬於多輪迭代中一步一步逼近最優解的算法,本文首先從數學的角度解釋這些算法的原理與聯繫
  • 假設檢驗的前世今生
    其實,「前世今生」系列的文章我已經看到過好幾篇了,比如「正太分布的前世今生」、「Meta分析的前世今生」。不知為何,我個人也很喜歡「前世今生」這個詞。今天呢,就聊一聊我知道的一點「假設檢驗的前世今生」吧。 假設檢驗是統計學裡最重要、最基礎的的概念,即便是不知道,不了解這個術語,與統計學毫不相干的人,在日常生活中,也不知不覺地應用了假設檢驗。
  • 今生的夫妻是前世情人,今生的情人是前世夫妻:善待每一份相遇!
    作者:胡楊映月情人之所以對你柔情似水,之所以是浪漫溫柔的代名詞,之所以讓你感覺愛得百轉柔腸,之所以讓你刻骨銘心,是因為你們是前世的夫妻。今生之所以尋你而來,只因為前世的一份緣還沒有盡,所以今生來續前緣,是來還債的。
  • [算法系列]最優化問題綜述
    ▽▽▽1 優化問題分類優化問題一般可分為兩大類:無約束優化問題和約束優化問題,約束優化問題又可分為含等式約束優化問題和含不等式約束優化問題。3 求解算法3.1 無約束優化算法3.1.1 梯度下降法梯度下降法是最早最簡單,也是最為常用的最優化方法。梯度下降法實現簡單,當目標函數是凸函數時,梯度下降法的解是全局解。一般情況下,其解不保證是全局最優解,梯度下降法的速度也未必是最快的。梯度下降法的優化思想是用當前位置負梯度方向作為搜索方向,因為該方向為當前位置的最快下降方向,所以也被稱為是」最速下降法「。
  • 袁勇麟教授暢談協和的前世今生
    《協和的前世今生》專題教育講座 楊競雯/攝談及學院的「今生」,學院的辦學理念、師資力量、發展目標、學子風採等基本情況,他侃侃而談,生動的案例、詳實的數據、珍貴的圖片資料,讓同學們大呼「原來我們的協和這麼棒!」
  • 廖閱鵬:前世今生催眠曲,帶你夢回前世,總結今生!
    最近在最右上,看到了一則消息,許多人聽了廖閱鵬的前世今生催眠曲,都看到了自己的前世,我覺得很神奇,便趁著月黑風高之夜,孤身一人躲在被窩裡,悄悄的打開了喜馬拉雅收音機,點開了前世今生催眠曲,帶上耳機,準備一場穿越之旅。
  • 人人值得一看——談前世 | 贈書《前世今生》
    佛在經上常說「欲知前世因,今生受者是」,你要知道這前世的因果,你看看現在受的就是;「欲知來世果,今生作者是」,想想來世什麼樣的果報,現在造的因就是。 你看看現在這個世界,這果!你就曉得前世造什麼樣的因;再看看現在社會大家造的因,我就曉得將來社會會有什麼果報。歷史是一面鏡子!這決定不是假的。
  • 《七月半2:前世今生》預告:怨氣歸來鬼門大開
    《七月半2:前世今生》預告:怨氣歸來鬼門大開 》即將於8月19日登陸全國各大銀幕。先導預告掀神秘面紗 鬼門大開怨氣歸來陰冷、絕望、滲人是《七月半2:前世今生》先導預告帶給影迷的直接感受,黑暗幽靜的山間小路、陰森陳舊的古宅、忽暗忽明的女舍走廊,這些駭人的場景在預告的一開始就將觀眾帶入詭異的氣氛中,而先導預告中透露的細節-前世冤魂的歸來,可能正是一切的淵源。
  • 欲知前世因,今生受者是;欲知後世果,今生作者是!
    今生守寡為何因  前世輕賤丈夫身今生奴婢為何因  前世忘恩負義人今生眼明為何因  前世舍油點佛燈今生瞎眼為何因  前世指路不分明今生缺口為何因 前世吹滅佛前燈今生聾啞為何因  前世惡口罵雙親今生駝背為何因  前世恥笑拜佛人今生拙手為何因  前世造孽害旁人今生跛腳為何因  前世攔路打劫人
  • 輪迴的實證:貝滿中學老師的前世今生
    左邊前世照片,女校算術老師;右邊今生照片,某部門主編邊前世照片,女校算術老師;右邊今生,某部門主編左邊是前世照片,還是個名人,康有為的外孫女--羅儀鳳,在女校當英文老師;右邊今生照片,成普通人了,某部門核心員工。這世跑到自己前世的墓前轉了轉,不過貌似也沒得到啥靈感。
  • 今生的愛人就是前世埋葬你的人
    佛祖解釋道,其實那具海灘上的女屍,就是你那個未婚妻的前世,而你正是那個路過她身邊,給她穿上一件衣服的路人。她今生和你相戀,只為還你一個情。但是她最終要報答一生一世的人,便是最後把她掩埋的那個人。那人便是她後來所嫁之人……「眾裡尋他千百度,驀然回首,那人卻在燈火闌珊處。」其實,當你與愛人攜手之時,就是前世殘存的記憶在提醒你了。
  • 精選5本前世今生文,無論前世,還是今生,我想一直在你身邊!
    今天為寶寶們整理了5本前世今生文,快一起來看看吧。如果寶寶們想看什麼類型的小說,可以在留言區告訴九九哦,九九會整理分享給大家。01《洞房前還有遺言嗎》作者:且墨<文案簡介>卿如是:我是你的祖宗,我們之間是不會有好結果的,這樣是會遭天譴的。
  • 小兒推拿的前世今生(前世篇下)
    小兒推拿的前世今生(前世篇上) 上一期我們講了小兒推拿的史料積累期,那麼當資料積累到一定程度,那麼就會交叉混合產生出新的學科。今天我們就來了解一下小兒推拿的形成期。這個時期主要從明清時代開始。下一講我們就要開始聊一聊小兒推拿的今生了,共同了解一下近現代小兒推拿的發展。
  • 「天門冬 」的前世今生!
    「天門冬」的前世今生!「天門冬」的前世:古籍中「天門冬」的記載:「天門冬「天門冬」的今生:「天門冬」怎麼吃果實類:熟透的紅色果子可以直接吃現在大家知道「天門冬」的前世今生了吧?感謝您在百忙之中的閱讀,希望本文的知識對您有所幫助!想了解更多的農業知識,請您持續關注我!
  • 今生夫妻的愛情是前世的「因果」,一切都是緣分
    佛陀說:今生萬物皆是前世的因果。前世的因果,今生的命運。佛陀說:婚姻真的是過去註定的嗎?很多都是前夫和前妻,所以這輩子也是夫妻。也有情侶來報答他們的恩情、委屈和債務,具體原因要分析。做夫妻是過去的一種宿命,有些夫妻種了更多的善緣,所以這輩子的恩愛。有些夫妻因為感情不好經常吵架,有些人比其他人更嚴肅,這是因為前世的不良關係。
  • 北大未名湖的前世今生(組圖)
    北大未名湖的前世今生【中國人的聖誕節】探訪中國聖誕村越南更奇葩:年輕人幹50年才能買套房貴州:北盤江畔的「天籟之音」北大未名湖的前世今生【中國人的聖誕節 ");}