凸優化研究在凸集上最小化凸函數的問題。凸性,連同它的許多含義,已經被用來為許多類凸程序提出有效的算法。因此,凸優化已經廣泛地影響了科學和工程的幾個學科。
過去幾年,凸優化算法徹底改變了離散和連續優化問題的算法設計。對于圖的最大流、二部圖的最大匹配和子模函數最小化等問題,已知的最快算法涉及到對凸優化算法的基本和重要使用,如梯度下降、鏡像下降、內點方法和切割平面方法。令人驚訝的是,凸優化算法也被用于設計離散對象(如擬陣)的計數問題。同時,凸優化算法已經成為許多現代機器學習應用的中心。由于輸入實例越來越大、越來越復雜,對凸優化算法的需求也極大地推動了凸優化技術本身的發展。
這本書的目的是使讀者能夠獲得對凸優化算法的深入理解。重點是從第一性原理推導出凸優化的關鍵算法,并根據輸入長度建立精確的運行時間界限。由于這些方法的廣泛適用性,一本書不可能向所有人展示這些方法的應用。這本書展示了各種離散優化和計數問題的快速算法的應用。本書中所選的應用程序的目的是為了說明連續優化和離散優化之間的一個相當令人驚訝的橋梁。
目標受眾包括高級本科生、研究生和理論計算機科學、離散優化和機器學習方面的研究人員。
//convex-optimization.github.io/
第一章-連續優化和離散優化的銜接
我們提出了連續優化和離散優化之間的相互作用。最大流問題是一個激勵人心的例子。我們也追溯了線性規劃的歷史——從橢球法到現代內點法。最后介紹了橢球法在求解最大熵問題等一般凸規劃問題上的一些最新成果。
第二章 預備知識
我們復習這本書所需的數學基礎知識。這些內容包括多元微積分、線性代數、幾何、拓撲、動力系統和圖論中的一些標準概念和事實。
第三章-凸性
我們引入凸集,凸性的概念,并展示了伴隨凸性而來的能力:凸集具有分離超平面,子梯度存在,凸函數的局部最優解是全局最優解。
第四章-凸優化與效率
我們提出了凸優化的概念,并正式討論了它意味著什么,有效地解決一個凸程序作為一個函數的表示長度的輸入和期望的精度。
第五章-對偶性與最優性
我們引入拉格朗日對偶性的概念,并證明在一個稱為Slater條件的溫和條件下,強拉格朗日對偶性是成立的。隨后,我們介紹了拉格朗日對偶和優化方法中經常出現的Legendre-Fenchel對偶。最后,給出了Kahn-Karush-Tucker(KKT)最優性條件及其與強對偶性的關系。
第六章-梯度下降
我們首先介紹梯度下降法,并說明如何將其視為最陡下降。然后,我們證明了梯度下降法在函數的梯度是連續的情況下具有收斂時間界。最后,我們使用梯度下降法提出了一個快速算法的離散優化問題:計算最大流量無向圖。
第七章-鏡像下降和乘法權值更新
我們推出我們的凸優化的第二個算法-稱為鏡面下降法-通過正則化觀點。首先,提出了基于概率單純形的凸函數優化算法。隨后,我們展示了如何推廣它,重要的是,從它推導出乘法權值更新(MWU)方法。然后利用后一種算法開發了一個快速的近似算法來解決圖上的二部圖匹配問題。
第八章-加速梯度下降
提出了Nesterov的加速梯度下降算法。該算法可以看作是前面介紹的梯度下降法和鏡像下降法的混合。我們還提出了一個應用加速梯度法求解線性方程組。
第九章-牛頓法
IWe開始了設計凸優化算法的旅程,其迭代次數與誤差成對數關系。作為第一步,我們推導并分析了經典的牛頓方法,這是一個二階方法的例子。我們認為牛頓方法可以被看作是黎曼流形上的最速下降,然后對其收斂性進行仿射不變分析。
第十章 線性規劃的內點法
利用牛頓法及其收斂性,推導出一個線性規劃的多項式時間算法。該算法的關鍵是利用障礙函數的概念和相應的中心路徑,將有約束優化問題簡化為無約束優化問題。
第十一章-內點法的變種與自洽
給出了線性規劃中路徑遵循IPM的各種推廣。作為應用,我們推導了求解s-t最小代價流問題的快速算法。隨后,我們引入了自一致性的概念,并給出了多邊形和更一般凸集的障礙函數的概述。
第十二章 線性規劃的橢球法
介紹了凸優化的一類切割平面方法,并分析了一種特殊情況,即橢球體法。然后,我們展示了如何使用這個橢球方法來解決線性程序超過0-1多邊形時,我們只能訪問一個分離oracle的多邊形。
第十三章-凸優化的橢球法
我們展示了如何適應橢球法求解一般凸程序。作為應用,我們提出了子模函數最小化的多項式時間算法和計算組合多邊形上的最大熵分布的多項式時間算法。
盡管它在機器學習中有重要的應用,非凸非凹目標的最小-最大優化仍然是難以實現的。不僅沒有已知的一階方法收斂甚至近似局部最小最大點,而且識別它們的計算復雜度也不為人所知。本文給出了非凸非凹目標和線性約束的約束最小-最優優化問題的計算復雜度,以及一階方法的局限性。
神經網絡在諸多應用領域展現了巨大的潛力,成為當前最熱門的研究方向之一。神經網絡的訓練主要通過求解一個優化問題來完成,但這是一個困難的非線性優化問題,傳統的優化理論難以直接應用。在神經網絡和優化的交叉領域,長期以來研究人員積累了大量的理論研究知識,不過這些研究或過于理論而不被大部分實踐者所了解,或過于偏工程而不被理論學者所理解和欣賞。本文的目的是總結目前對于神經網絡優化基本理論和算法的現狀,架起理論和實踐、優化和機器學習界之間的橋梁。
對苦于調參常感到困惑的工程師而言,本文可以提供一些已有的理論理解以供參考,并提供一些思考的方式。對理論學者而言,本文力圖解釋其作為數學問題的困難之所在以及目前的理論進展,以期吸引更多研究者投身神經網絡優化理論和算法研究。
本文概述了神經網絡的算法和優化理論。首先,我們討論梯度爆炸/消失問題和更一般的譜控制問題,然后討論實際中常用的解決方案,包括初始化方法和歸一化方法。其次,我們回顧用于訓練神經網絡的一般優化方法,如SGD、自適應梯度方法和大規模分布式訓練方法,以及這些算法的現有理論結果。第三,我們回顧了最近關于神經網絡訓練的全局問題的研究,包括局部極值、模式連接、彩票假設和無限寬度分析等方面的結果。
這本書來自統計學習課程,這是一門統計機器學習的入門課程,面向具有一些微積分、線性代數和統計學背景的學生。這門課程的重點是監督學習:分類和回歸。本課程將涵蓋機器學習和數據科學中使用的一系列方法,包括:
這些方法將在整個課程中被研究并應用于來自各種應用的真實數據。課程還涵蓋了一些重要的實際問題,如交叉驗證、模型選擇和偏方差權衡。課程包括理論(例如,推導和證明)以及實踐(特別是實驗室和小型項目)。實際部分將使用Python實現。
機器學習是計算機科學中增長最快的領域之一,具有深遠的應用。本書的目的是介紹機器學習,以及它所提供的算法范例。本書對機器學習的基本原理和將這些原理轉化為實際算法的數學推導提供了理論解釋。在介紹了基礎知識之后,這本書涵蓋了以前教科書沒有涉及到的一系列廣泛的中心主題。這些包括討論學習的計算復雜性和凸性和穩定性的概念;重要的算法范例包括隨機梯度下降、神經網絡和結構化輸出學習;以及新興的理論概念,如PAC-Bayes方法和基于壓縮的界限。本文面向高級本科生或剛畢業的學生,使統計學、計算機科學、數學和工程學領域的學生和非專業讀者都能接觸到機器學習的基本原理和算法。
//www.cse.huji.ac.il/~shais/UnderstandingMachineLearning/index.html
概述
機器學習是指自動檢測數據中有意義的模式。在過去的幾十年里,它已經成為幾乎所有需要從大數據集中提取信息的任務的通用工具。我們被一種基于機器學習的技術包圍著:搜索引擎學習如何給我們帶來最好的結果(同時投放有利可圖的廣告),反垃圾郵件軟件學習如何過濾我們的電子郵件信息,信用卡交易被一種學習如何偵測欺詐的軟件保護著。數碼相機學會識別人臉,智能手機上的智能個人輔助應用學會識別語音指令。汽車配備了使用機器學習算法構建的事故預防系統。機器學習還廣泛應用于生物信息學、醫學和天文學等科學領域。
所有這些應用程序的一個共同特征是,與計算機的更傳統使用相比,在這些情況下,由于需要檢測的模式的復雜性,人類程序員無法提供關于這些任務應該如何執行的明確、詳細的規范。以智慧生物為例,我們的許多技能都是通過學習我們的經驗(而不是遵循給我們的明確指示)而獲得或改進的。機器學習工具關注的是賦予程序“學習”和適應的能力。
這本書的第一個目標是提供一個嚴格的,但易于遵循,介紹機器學習的主要概念: 什么是機器學習?
本書的第二個目標是介紹幾種關鍵的機器學習算法。我們選擇展示的算法一方面在實踐中得到了成功應用,另一方面提供了廣泛的不同的學習技術。此外,我們特別關注適合大規模學習的算法(又稱“大數據”),因為近年來,我們的世界變得越來越“數字化”,可用于學習的數據量也在急劇增加。因此,在許多應用中數據量大,計算時間是主要瓶頸。因此,我們明確地量化了學習給定概念所需的數據量和計算時間。
目錄:
Part I: Foundations
Part II: From Theory to Algorithms
Part III: Additional Learning Models
Part IV: Advanced Theory
Appendices
這本專著,我通過在線凸優化的現代視角介紹了在線學習的基本概念。這里,在線學習指的是在最壞情況假設下的后悔最小化框架。我提出了凸損失在線學習的一階和二階算法,在歐幾里德和非歐幾里德設置。所有的算法都清晰地呈現為在線鏡像下降或跟隨正則化及其變體的實例化。特別關注的是通過自適應和無參數在線學習算法來調整算法的參數和在無界域內學習的問題。非凸損失通過凸替代損失和隨機化處理。本文還簡要討論了強盜設置問題,討論了具有對抗性和隨機性的多武裝強盜問題。這些筆記不需要凸分析的先驗知識,所有必需的數學工具都得到了嚴格的解釋。此外,所有的證明都經過精心挑選,盡可能地簡單和簡短。
高斯過程(GPs)為核機器的學習提供了一種有原則的、實用的、概率的方法。在過去的十年中,GPs在機器學習社區中得到了越來越多的關注,這本書提供了GPs在機器學習中理論和實踐方面長期需要的系統和統一的處理。該書是全面和獨立的,針對研究人員和學生在機器學習和應用統計學。
這本書處理監督學習問題的回歸和分類,并包括詳細的算法。提出了各種協方差(核)函數,并討論了它們的性質。從貝葉斯和經典的角度討論了模型選擇。討論了許多與其他著名技術的聯系,包括支持向量機、神經網絡、正則化網絡、相關向量機等。討論了包括學習曲線和PAC-Bayesian框架在內的理論問題,并討論了幾種用于大數據集學習的近似方法。這本書包含說明性的例子和練習,和代碼和數據集在網上是可得到的。附錄提供了數學背景和高斯馬爾可夫過程的討論。
如今是人工智能高歌猛進的時代,機器學習的發展也如火如荼。然而,復雜的數學公式和難解的專業術語容易令剛接觸這一領域的學習者望而生畏。有沒有這樣一本機器學習的書,能摒棄復雜的公式推導,帶領讀者通過實踐來掌握機器學習的方法?
《機器學習與優化》正是這樣一本書!它的寫作脫胎于意大利特倫托大學機器學習與智能優化實驗室(LION lab)的研究項目,語言輕松幽默,內容圖文并茂,涵蓋了機器學習中可能遇到的各方面知識。更重要的是,書中特別介紹了兩個機器學習的應用,即信息檢索和協同推薦,讓讀者在了解信息結構的同時,還能利用信息來預測相關的推薦項。
本書作者以及讀者群發布的數據、指導說明和教學短片都可以在本書網站上找到://intelligent-optimization.org/LIONbook/。
本書內容要點: ● 監督學習——線性模型、決策森林、神經網絡、深度和卷積網絡、支持向量機等 ● 無監督模型和聚類——K均值、自底而上聚類、自組織映射、譜圖繪制、半監督學習等 ● 優化是力量之源——自動改進的局部方法、局部搜索和反饋搜索優化、合作反饋搜索優化、多目標反饋搜索優化等 ● 應用精選——文本和網頁挖掘,電影的協同推薦系統
本備忘單是機器學習手冊的濃縮版,包含了許多關于機器學習的經典方程和圖表,旨在幫助您快速回憶起機器學習中的知識和思想。
這個備忘單有兩個顯著的優點:
清晰的符號。數學公式使用了許多令人困惑的符號。例如,X可以是一個集合,一個隨機變量,或者一個矩陣。這是非常混亂的,使讀者很難理解數學公式的意義。本備忘單試圖規范符號的使用,所有符號都有明確的預先定義,請參見小節。
更少的思維跳躍。在許多機器學習的書籍中,作者省略了數學證明過程中的一些中間步驟,這可能會節省一些空間,但是會給讀者理解這個公式帶來困難,讀者會在中間迷失。
Fundamentals of Python Programming