這本書涵蓋了凸優化的介紹,凸優化是一種強大且易處理的優化問題,可以在計算機上高效求解。本書的目標是幫助讀者了解凸優化是什么以及如何在不斷擴大的實際應用場景中使用,特別強調在機器學習領域的應用。本書的第一部分涵蓋了凸集、凸函數和相關基本定義,這些概念有助于理解凸優化及其相應的模型。第二部分講述了一個非常有用的理論——對偶性,它使我們能夠:(1)獲得算法洞察;(2)為通常難以解決的非凸優化問題獲得近似解。最后一部分關注機器學習和深度學習的現代應用。這本書的一個特點是,它簡潔地講述了凸優化如何通過歷史示例和當前機器學習應用發揮作用的“故事”。另一個關鍵特點是,它包括了基于優化基礎原理啟發的各種機器學習算法的編程實現,以及所使用編程工具的簡要教程。實現基于Python,CVXPY和TensorFlow。本書并未遵循傳統教科書式的組織結構,而是通過一系列緊密相關的講義進行簡化,圍繞連貫的主題和概念展開。本書主要作為高年級本科生課程教材,同時也適用于一年級研究生課程。讀者需要具備良好的線性代數背景,一定程度的概率知識和對Python的基本熟悉。本書由三部分組成。在第一部分中,我們將學習基本概念和幾個數學定義,以便理解什么是凸優化,以及如何將感興趣的問題轉化為凸問題。然后,我們將探索凸優化問題的五個實例:LP、最小二乘、QP、SOCP和SDP。我們將專注于識別(和轉換)這類問題的技術。我們還將研究一些用于解決這些問題的著名算法。在第二部分中,我們將研究最優化領域中的一個關鍵理論,稱為對偶性。二元性有兩種類型:(1)強二元性;(2)弱對偶性。強對偶性對于獲得凸問題的算法見解是非常有用的。福利對偶性通過提供近似解來幫助處理困難的非凸問題。在最后的第三部分,我們將探討機器學習的應用:(1)監督學習,最流行的機器學習方法之一;(ii)生成對抗網絡(GANs),無監督學習的突破性模型之一;(iii)公平分類器,這是機器學習中的熱門話題之一。
這本教材旨在從數學的角度指出數據分析的最重要的原則。具體來說,它選擇了這些問題進行探索:哪些是理解應用的含義所必需的原則,哪些是理解所使用的方法成功的條件所必需的?理論只在適當應用的必要程度上呈現,力求在過度復雜和過度簡化之間取得平衡。它的主要重點是應用成功的關鍵原則。主題及特點:
雖然這本核心教材直接針對計算機科學和/或數據科學的學生,但它也將對該領域的研究人員具有真正的吸引力,他們希望獲得“超越”唯一計算經驗的數學基礎的正確理解。
//link.springer.com/book/10.1007/978-3-031-19074-2
機器學習是關于基于數據學習、推理和行動的。這是通過構建計算機程序來完成的,這些程序處理數據,提取有用的信息,對未知屬性進行預測,并建議采取行動或做出決定。將數據分析轉化為機器學習的原因是,這個過程是自動化的,計算機程序是從數據中學習的。這意味著使用通用的計算機程序,這些程序根據觀察到的所謂的訓練數據自動調整程序的設置,以適應應用程序特定的情況。因此,可以說機器學習是一種示例編程方式。機器學習的美妙之處在于數據表示的是非常任意的,我們可以設計出適用于不同領域的廣泛實際應用的通用方法。我們通過下面的一系列例子來說明這一點。 本書旨在傳達監督式機器學習的精神,而不要求讀者具備該領域的任何經驗。我們的重點是基礎數學和實踐方面。這本書是教科書;它不是參考工作或編程手冊。因此,它只包含仔細(但全面)選擇的有監督機器學習方法,而沒有編程代碼。到目前為止,已經有許多編寫良好、文檔齊全的代碼包可用。我們堅信,只要讀者對數學及其方法的內部工作有很好的理解,就能將本書與他/她最喜歡的編程語言中的代碼包聯系起來。 本書從統計學的角度出發,從統計特性的角度來討論方法。因此,它需要一些統計學和概率論的知識,以及微積分和線性代數。我們希望從頭到尾閱讀本書,能讓讀者成為機器學習工程師和/或在該主題中進行進一步研究的良好起點。這本書是這樣寫的,可以連續讀。然而,本書還有多種可能的閱讀路徑,根據讀者的興趣有更多的選擇。圖1 - 6說明了這兩章之間的主要依賴關系。特別是,第2章、第3章和第4章討論了最基本的主題。我們建議讀者在閱讀后續章節(第5章至第9章)之前,先閱讀這些章節。第10章將超越機器學習的監督式設置,第11章將重點放在設計一個成功的機器學習解決方案的一些更實際的方面,與前幾章相比技術性較低。最后,第12章(由David Sumpter撰寫)討論了現代機器學習中的一些倫理問題。
本書為表示提供了簡明而全面的指南,這是機器學習(ML)的核心。最先進的實際應用涉及許多高維數據分析的挑戰。不幸的是,許多流行的機器學習算法在面對龐大的基礎數據時,在理論和實踐中都無法執行。本書恰當地介紹了這個問題的解決方案。 此外,這本書涵蓋了廣泛的表示技術,對學者和ML從業者都很重要,如局部敏感哈希(LSH),距離度量和分數范數,主成分(PCs),隨機投影和自動編碼器。書中提供了幾個實驗結果來證明所討論技術的有效性。 本書討論了機器學習(ML)中最重要的表示問題。在使用機器從數據中學習類/聚類抽象時,以適合有效和高效機器學習的形式表示數據是很重要的。在本書中,我們建議涵蓋各種在理論和實踐中都很重要的表示技術。在當前興趣的實際應用中,數據通常是高維的。這些應用包括圖像分類、信息檢索、人工智能中的問題解決、生物和化學結構分析以及社會網絡分析。這種高維數據分析的一個主要問題是,大多數流行的工具,如k近鄰分類器、決策樹分類器,以及一些依賴于模式間距離計算的聚類算法都不能很好地工作。因此,在低維空間中表示數據是不可避免的。 常用的降維技術有以下幾種:
//www.nowpublishers.com/article/BookDetails/9781638280521
本書介紹了凸優化,這是一個可以在計算機上高效解決的強大且易于處理的優化問題。本書的目標是幫助讀者理解什么是凸優化,以及如何將其應用于更廣泛的實際場景,特別是機器學習。
本書的第一部分涵蓋了凸集、凸函數的核心概念,以及用于理解凸優化及其相應模型的相關基本定義。第二部分討論一個非常有用的理論,稱為對偶性,它使我們能夠:(1)獲得算法的見解;(2)獲得了通常難以求解的非凸優化問題的近似解。最后一部分關注機器學習和深度學習的現代應用。
本書的一個定義性特征是,它通過歷史例子和機器學習應用的趨勢,簡潔地聯系了凸優化如何發揮作用的“故事”。另一個關鍵特性是,它包括受優化原理啟發的各種機器學習算法的編程實現,以及使用的編程工具的簡要教程。該實現基于Python、CVXPY和TensorFlow。
這本書沒有遵循傳統的教科書式的組織方式,而是通過一系列密切相關的講座筆記進行精簡,圍繞連貫的主題和概念。本教材主要適用于本科高年級課程,也適用于研究生一年級課程。如果讀者有良好的線性代數背景,對概率有一定的了解,并對Python有基本的了解,將受益匪淺。
Changho Suh (2022), "Convex Optimization for Machine Learning", Boston-Delft: now publishers,
內容結構: * 凸優化基礎(14節和4個問題集):凸優化簡史;凸集、凸函數的基本概念及凸優化的定義梯度下降法;線性規劃(LP), LP松弛,最小二乘,二次規劃,二階錐規劃,半正定規劃(SDP)和SDP松弛;CVXPY實現。 * 對偶性(7節和3個問題集):拉格朗日函數、對偶函數和對偶問題;強對偶性、KKT條件和內點法弱對偶性和拉格朗日松弛。 * 機器學習應用(14節和4個問題集):監督學習和優化在邏輯回歸和深度學習中的作用;反向傳播算法及其Python實現;無監督學習,生成對抗網絡(GANs), Wasserstein GAN,以及LP和對偶理論的作用;公平機器學習以及正則化技術和KKT條件的作用;TensorFlow實現的深度學習分類器,GANs, Wasserstein GAN和公平的機器學習算法。
科學用實驗來驗證關于世界的假設。統計學提供了量化這一過程的工具,并提供了將數據(實驗)與概率模型(假設)聯系起來的方法。因為世界是復雜的,我們需要復雜的模型和復雜的數據,因此需要多元統計和機器學習。具體來說,多元統計(與單變量統計相反)涉及隨機向量和隨機矩陣的方法和模型,而不僅僅是隨機單變量(標量)變量。因此,在多元統計中,我們經常使用矩陣表示法。與多元統計(傳統統計學的一個分支)密切相關的是機器學習(ML),它傳統上是計算機科學的一個分支。過去機器學習主要集中在算法上,而不是概率建模,但現在大多數機器學習方法都完全基于統計多元方法,因此這兩個領域正在收斂。多變量模型提供了一種方法來學習隨機變量組成部分之間的依賴關系和相互作用,這反過來使我們能夠得出有關興趣的潛在機制的結論(如生物或醫學)。
兩個主要任務: 無監督學習(尋找結構,聚類) 監督學習(從標記數據進行訓練,然后進行預測)
挑戰: 模型的復雜性需要適合問題和可用數據, 高維使估計和推斷困難 計算問題。
在過去的十年里,人們對人工智能和機器學習的興趣有了相當大的增長。從最廣泛的意義上說,這些領域旨在“學習一些有用的東西”,了解生物體所處的環境。如何處理收集到的信息導致了算法的發展——如何處理高維數據和處理不確定性。在機器學習和相關領域的早期研究階段,類似的技術在相對孤立的研究社區中被發現。雖然不是所有的技術都有概率論的自然描述,但許多都有,它是圖模型的框架(圖和概率論的結合),使從統計物理、統計、機器學習和信息理論的想法的理解和轉移。在這種程度上,現在有理由期待機器學習研究人員熟悉統計建模技術的基礎知識。這本書集中在信息處理和機器學習的概率方面。當然,沒有人說這種方法是正確的,也沒有人說這是唯一有用的方法。事實上,有人可能會反駁說,這是沒有必要的,因為“生物有機體不使用概率論”。無論情況是否如此,不可否認的是,圖模型和概率框架幫助機器學習領域出現了新算法和模型的爆炸式增長。我們還應該清楚,貝葉斯觀點并不是描述機器學習和信息處理的唯一方法。貝葉斯和概率技術在需要考慮不確定性的領域中發揮了自己的作用。
//www0.cs.ucl.ac.uk/staff/d.barber/brml/
本書結構
本書第一部分的目的之一是鼓勵計算機科學專業的學生進入這一領域。許多現代學生面臨的一個特別困難是有限的正規微積分和線性代數訓練,這意味著連續和高維分布的細節可能會讓他們離開。在以概率作為推理系統的一種形式開始時,我們希望向讀者展示他們可能更熟悉的邏輯推理和動態規劃的想法如何在概率環境中有自然的相似之處。特別是,計算機科學的學生熟悉的概念,算法為核心。然而,在機器學習中更常見的做法是將模型視為核心,而如何實現則是次要的。從這個角度來看,理解如何將一個數學模型轉換成一段計算機代碼是核心。
第二部分介紹了理解連續分布所需的統計背景,以及如何從概率框架來看待學習。第三部分討論機器學習的主題。當然,當一些讀者看到他們最喜歡的統計話題被列在機器學習下面時,他們會感到驚訝。統計學和機器學習之間的一個不同觀點是,我們最終希望構建什么樣的系統(能夠完成“人類/生物信息處理任務的機器),而不是某些技術。因此,我認為這本書的這一部分對機器學習者來說是有用的。第四部分討論了明確考慮時間的動態模型。特別是卡爾曼濾波器被視為圖模型的一種形式,這有助于強調模型是什么,而不是像工程文獻中更傳統的那樣把它作為一個“過濾器”。第五部分簡要介紹了近似推理技術,包括隨機(蒙特卡羅)和確定性(變分)技術。
掌握使用PyTorch實現深度學習解決方案的實踐方面,使用實踐方法理解理論和實踐。Facebook的人工智能研究小組開發了一個名為PyTorch的平臺,該平臺擁有良好的理論基礎和實用技能,為你在現實世界中應用深度學習做好了準備。
首先,您將了解PyTorch的深度學習是如何以及為什么成為一種具有開創性的框架,它帶有一組工具和技術來解決現實世界中的問題。接下來,這本書將為你打下線性代數、向量微積分、概率和最優化的數學基礎。在建立了這個基礎之后,您將繼續討論PyTorch的關鍵組件和功能,包括層、損失函數和優化算法。
您還將了解基于圖形處理單元(GPU)的計算,這對訓練深度學習模型是必不可少的。介紹了深度學習的前饋網絡、卷積神經網絡、循環神經網絡、長短時記憶網絡、自動編碼器網絡和生成對抗網絡等關鍵網絡結構。在許多訓練和優化深度學習模型的技巧的支持下,這個版本的Python深度學習解釋了使用PyTorch將這些模型帶到生產中的最佳實踐。
你會: 回顧機器學習的基本原理,如過擬合、欠擬合和正則化。 了解深度學習的基本原理,如前饋網絡,卷積神經網絡,遞歸神經網絡,自動微分和隨機梯度下降。 使用PyTorch深入應用線性代數 探索PyTorch的基本原理及其構建塊 使用調優和優化模型
在過去的二十年里,機器學習已經成為信息技術的支柱之一,并因此成為我們生活中相當核心(盡管通常是隱藏的)的一部分。隨著可用數據量的不斷增加,我們有充分的理由相信,智能數據分析將變得更加普遍,成為技術進步的必要因素。本章的目的是為讀者提供一個廣泛的應用的概述,這些應用的核心是一個機器學習問題,并給這一大堆問題帶來一定程度的秩序。在那之后,我們將討論一些來自統計和概率論的基本工具,因為它們構成了許多機器學習問題必須被表述成易于解決的語言。最后,我們將概述一套相當基本但有效的算法來解決一個重要的問題,即分類。更復雜的工具,更普遍的問題的討論和詳細的分析將在本書后面的部分。
如果您不熟悉基礎知識,則機器學習可能是一個困難的主題。借助本書,您將獲得統計編程語言R在機器學習中使用的入門原則的堅實基礎。您將從回歸等基礎知識開始,然后進入神經網絡等更高級的主題,最后深入研究像Caret這樣的軟件包在R世界中機器學習的前沿。
通過熟悉諸如理解回歸模型和分類模型之間的差異之類的主題,您將能夠解決一系列機器學習問題。知道何時使用特定模型可能意味著高精度模型與完全無用的模型之間的區別。本書提供了大量示例來構建機器學習的實用知識。
了解機器學習算法的主要部分: 認識到如何使用機器學習以簡單的方式解決問題 找出何時使用某些機器學習算法與其他算法 了解如何使用最先進的軟件包實施算法