索引 / 001 ZH-TW
Probabilistic Machine Learning: An Introduction(機率式機器學習:導論) cover

電腦科學

電腦科學

Probabilistic Machine Learning: An Introduction(機率式機器學習:導論)

Kevin P. Murphy

英文原名: Probabilistic Machine Learning: An Introduction

一本以機率建模與貝氏決策理論為主軸,系統介紹機器學習(含深度學習)的教科書。墨菲將早先的 Machine Learning: A Probabilistic Perspective 改寫為兩冊,本書為第一冊,涵蓋基礎與核心方法。作者官方網站除紙本外另提供免費 PDF。

需要的基礎: 線性代數、多變數微積分、機率,以及一定程度的 Python 程式設計能力;開頭幾章會複習所需數學。

難度等級
中級
學術層次
大學部
machine learningprobabilistic modelingdeep learningbayesian inference教科書

01 / 導讀

導讀

引用

Murphy, K. P. (2022). Probabilistic Machine Learning: An Introduction. MIT Press. Free official edition: https://probml.github.io/pml-book/book1.html

章節概要

第1章:引言

引言借用 Mitchell 關於"任務—經驗—效能"的表述來定義機器學習,並說明本書的立場:把一切未知量都視為隨機變數,因為機率是不確定性下決策的正確基礎,也是與其他科學共享的語言。本章概覽監督學習(鳶尾花分類、多項式迴歸、過擬合與泛化)、無監督學習(聚類、潛在因子、自監督學習)、強化學習,以及常用資料集與預處理。結尾的討論把機器學習與統計學、資料科學和人工智慧聯絡起來,概述全書五個部分,並提醒讀者注意"獎勵投機"(reward hacking)和對齊問題。

第2–3章:機率:單變數模型;機率:多變數模型

第一部分"基礎"從機率講起。第2章比較頻率學派與貝葉斯學派對機率的解釋,然後介紹隨機變數、貝葉斯法則、伯努利分佈、二項分佈、類別分佈、多項分佈和高斯分佈,以及其他常見分佈和隨機變數的變換。第3章把這些內容推廣到聯合分佈、協方差與相關、多元高斯分佈、線性高斯系統、指數族、混合模型,並初步介紹機率圖模型。

第4章:統計

本章把學習看作引數估計:最大似然、經驗風險最小化、矩估計等其他估計方法、正則化(包括 MAP 估計和驗證集),帶共軛先驗的貝葉斯統計,以及涉及抽樣分佈、自助法和置信區間的頻率派統計。

第5章:決策理論

在後驗推斷的基礎上,本章說明如何藉助損失函式把信念轉化為行動,並以醫療決策和分類為例。內容包括貝葉斯決策理論(包括 ROC 和精確率—召回率分析)、模型選擇、頻率派決策理論與風險、經驗風險最小化與泛化,以及頻率派假設檢驗。

第6章:資訊理論

這一短章介紹熵、相對熵(KL 散度)和互資訊,以及它們的性質和在機器學習中的用途。

第7–8章:線性代數;最佳化

第7章總結全書用到的線性代數:記號、矩陣乘法與求逆、特徵值分解和奇異值分解、其他分解、線性方程組求解以及矩陣微積分。第8章介紹用於模型擬合的連續最佳化:一階和二階方法、隨機梯度下降及其變體、約束最佳化、近端梯度法、界最佳化(包括 EM 演算法)以及無導數方法。

第9–10章:線性判別分析;邏輯迴歸

第二部分"線性模型"從生成式分類器開始:高斯判別分析、樸素貝葉斯,以及生成式與判別式方法的比較。第10章講二元和多項邏輯迴歸,包括最大似然擬合、正則化、穩健變體和貝葉斯邏輯迴歸。

第11–12章:線性迴歸;廣義線性模型

第11章討論最小二乘、嶺迴歸和 lasso 迴歸、迴歸樣條、穩健迴歸以及貝葉斯線性迴歸。第12章把這些模型統一為建立在指數族之上的廣義線性模型,討論連線函式和最大似然擬合,最後以預測保險索賠的完整範例結束。

第13–15章:用於表格資料的神經網路;用於影像的神經網路;用於序列的神經網路

第三部分"深度神經網路"把多層感知機介紹為可學習的特徵變換,然後講反向傳播、訓練中的問題(如梯度消失和學習率)以及正則化。第14章講卷積網路:常用層、影像分類架構、其他形式的卷積、其他視覺任務,以及通過反演網路生成影像。第15章講迴圈神經網路、一維卷積、注意力機制、Transformer、高效 Transformer,以及用於無監督表示學習的語言模型。

第16–18章:基於樣例的方法;核方法;樹、森林、裝袋與提升

第四部分"非引數模型"從 K 近鄰分類、度量學習和核密度估計開始。第17章介紹 Mercer 核、高斯過程和支援向量機。第18章討論分類與迴歸樹、整合學習、裝袋(bagging)、隨機森林、提升(boosting)以及解釋樹整合模型的方法。

第19章:用更少的標註樣本學習

第五部分"超越監督學習"首先討論應對標註不足的方法:資料增強、遷移學習、半監督學習、主動學習、元學習、小樣本學習和弱監督學習。

第20–21章:降維;聚類

第20章介紹主成分分析、因子分析、自編碼器、流形學習方法和詞嵌入。第21章討論聚類結果的評估、層次凝聚聚類、K 均值、基於混合模型的聚類、譜聚類和雙聚類。

第22–23章:推薦系統;圖嵌入

第22章討論基於顯式反饋和隱式反饋的推薦系統、輔助資訊的利用以及探索—利用權衡。第23章把圖嵌入表述為編碼器—解碼器問題,涵蓋淺層嵌入、圖神經網路、深度圖嵌入及其應用。

附錄 A:記號

附錄彙總全書使用的記號和縮寫。

核心概念

第1章:引言

  • 機率視角:把預測和引數建模為帶有分佈的隨機變數,以量化不確定性。
  • 過擬合與泛化:過於貼合訓練資料的模型可能對新資料預測不佳,因此測試誤差才是關鍵。

第2–3章:機率

  • 貝葉斯法則:觀察資料後把先驗信念更新為後驗的公式。
  • 多元高斯分佈:向量上最核心的連續分佈,由均值和協方差矩陣確定。
  • 指數族:一大類具有便利充分統計量的分佈,是廣義線性模型的基礎。

第4–6章:統計、決策理論與資訊理論

  • 最大似然估計:選擇使觀測資料機率最大的引數。
  • 正則化與 MAP 估計:懲罰複雜的引數設定,等價於加入先驗。
  • 貝葉斯決策理論:選擇在後驗下期望損失最小的行動。
  • KL 散度:衡量一個機率分佈與另一個分佈差異程度的量。

第7–8章:線性代數與最佳化

  • 奇異值分解:把矩陣分解為正交部分和對角部分,用於最小二乘和主成分分析。
  • 隨機梯度下降:用在小批次資料上計算的帶噪聲梯度來最佳化損失。

第9–12章:線性模型

  • 生成式與判別式分類器:前者建模各類別中特徵如何產生,後者直接建模類別機率。
  • 嶺迴歸與 lasso:帶 ℓ2 或 ℓ1 懲罰的線性迴歸,後者會產生稀疏解。
  • 廣義線性模型:自然引數是輸入線性函式的條件指數族模型。

第13–15章:深度神經網路

  • 反向傳播:利用鏈式法則高效計算網路損失的梯度。
  • 卷積層:在整幅影像上應用同一組小型可學習濾波器的層。
  • 注意力與 Transformer:讓序列中每個位置能夠加權利用其他位置資訊的機制。

第16–18章:非引數模型

  • 高斯過程:由核定義的函式上的分佈,可給出帶不確定性的預測。
  • 支援向量機:最大化類別間間隔的核分類器。
  • 提升與隨機森林:樹的整合,前者按順序構建以糾正錯誤,後者在隨機化的資料和特徵上並行構建。

第19–23章:超越監督學習

  • 遷移學習:把在某個任務或資料集上訓練的模型用於幫助另一個標註很少的任務。
  • 主成分分析:把資料投影到方差最大的方向上,用於壓縮和視覺化。
  • 用於推薦的矩陣分解:用低維的使用者因子和物品因子預測缺失的評分。

評析

優點

  • 統一的視角。 正如前言所說,本書通過機率建模和貝葉斯決策理論來呈現機器學習,因此從樸素貝葉斯到神經網路和高斯過程的各種方法,都通過似然、先驗和損失聯絡起來,而不是作為互不相關的配方出現。
  • 自成體系的基礎。 第一部分包括機率、統計、決策理論、資訊理論、線性代數和最佳化;前言說明,這些內容是為了讓本書對學生更有用而新增的。讀者可以在同一套記號下查閱背景知識。
  • 廣度與時新內容兼備。 在約 800 頁的篇幅中,本書從經典線性模型一直講到 Transformer、圖神經網路、小樣本學習和推薦系統,反映了 2021 年前後該領域的面貌。
  • 可復現的圖表與線上支援。 書中圖表由 Python 筆記本生成(使用 NumPy、scikit-learn、JAX、PyTorch 等庫),可在 Google Colab 中開啟;許多練習的答案也已線上公佈。

局限

  • 內容密集,數學要求高。 本書推導節奏很快,儘管有複習章節,仍預設讀者熟悉線性代數、多元微積分和機率;初學者把它當作第一本教材可能會感到吃力。
  • 部分內容重廣度輕深度。 許多小節,尤其是標有星號的進階內容和第五部分的內容,只是簡要概述,並指向續作或文獻,而不是完整論述。
  • 練習分佈不均。 只有部分章節末尾有練習,若干章節(例如影像和序列神經網路、樹模型和聚類等章)沒有練習。
  • 部分主題留給續作。 生成模型、變分推斷、深入的強化學習和因果推斷等,大多留給了 Probabilistic Machine Learning: Advanced Topics。

在課程中的定位

在本機器學習與人工智慧書單中,Murphy 的書是深入機率推導的教材。James 等人的 An Introduction to Statistical Learning with Applications in Python 是更易入手的配套讀物,通常被認為以較少的數學和動手實驗涵蓋了類似的監督與無監督方法;初學者可以先學完它,再轉向 Murphy,學習機率推導、貝葉斯處理和深度學習各章。Mitchell 的 Artificial Intelligence: A Guide for Thinking Humans 是非技術性的概覽,可以提供背景,但不能作為技術準備。

Russell 和 Norvig 的 Artificial Intelligence: A Modern Approach 更廣泛地覆蓋人工智慧,包括搜尋、邏輯和規劃,與本書是互補而非重疊的關係;Murphy 在引言中也把手工程式設計的人工智慧與學習方法作了對比。Szeliski 的 Computer Vision 適合專攻視覺的學生,在 Murphy 第14章這類內容的基礎上繼續深入。

如何使用本書

本書適合已修過線性代數、多元微積分和機率、能用 Python 程式設計的計算機、統計或工程專業高年級大學部學生和研究生。第2–8章可以作為參考或複習材料,不必在開始前全部讀完。

一學期的入門課程可以採用這樣的路線:第1章,第2–5章的部分內容,第8章(梯度方法),第9–11章,第13章,再選第14–15章或第17–18章,最後學習第20–21章。前言指出,標有星號的小節和章節在入門課程中可以跳過。有練習的章節要做練習,並用線上答案核對;執行書中連結的 Colab 筆記本來復現和修改圖表。續作 Probabilistic Machine Learning: Advanced Topics 從本卷結束處繼續。

版本與來源

本導讀依據 Probabilistic Machine Learning: An Introduction 日期為 2025 年 4 月 18 日的免費線上版(book1.pdf,CC BY-NC-ND 許可;印刷版由 MIT Press 於 2022 年出版),經由作者官方圖書頁面 https://probml.github.io/pml-book/book1.html 下載。內容取材於前言和致謝、簡要目錄與完整目錄(含每個小節標題)、第1章開頭一節及結尾討論(全書結構與注意事項)的全文,以及全部 23 章的開篇小節,並統計了全書的練習數量。