學習可行嗎:Hoeffding 不等式與資料以外的保證|台大林軒田 機器學習基石 第 4 堂
這堂課先證明只靠資料 D 推不出 D 以外的答案(No Free Lunch),再加上一個假設:資料與未來的輸入都從同一個分布獨立抽出。Hoeffding 不等式於是保證,一個事先固定的假說 h,E_in 與 E_out 相差超過 ε 的機率不超過 2exp(−2ε²N)。演算法要從 M 個假說裡挑,上界乘上 M 變成 2M exp(−2ε²N);假說有限、資料夠多、E_in 又小,學習就可行。
這堂課先證明只靠資料 D 推不出 D 以外的答案(No Free Lunch),再加上一個假設:資料與未來的輸入都從同一個分布獨立抽出。Hoeffding 不等式於是保證,一個事先固定的假說 h,E_in 與 E_out 相差超過 ε 的機率不超過 2exp(−2ε²N)。演算法要從 M 個假說裡挑,上界乘上 M 變成 2M exp(−2ε²N);假說有限、資料夠多、E_in 又小,學習就可行。
CS189 Spring 2026 HW1 分三塊:10 題書面數學熱身(線性方程組、特徵分解求矩陣冪次極限、SVD、翻轉影像的矩陣、偏微分、遞迴式連鎖律、四題機率含癌症篩檢的 Bayes),加上兩本公開在 Modal 上的 Fashion-MNIST notebook:Part 1 練 pandas/Plotly/K-means/MLP/矩陣做影像增強/tensor 謎題,Part 2 做價格回歸、MAE/MSE/R²、混淆矩陣,最後處理一份被旋轉過的秘密測試集。截止 2/20,沒有官方解答。
CS189 Spring 2026 第 4–7 講用一條線串起非監督式學習:先用 K-means 分群,指出它的弱點(硬指派、沒有機率框架、只適合體積相近的圓形群),再複習機率、引入最大概似估計(MLE)與多變量高斯,最後把 K-means 改寫成高斯混合模型(GMM)。GMM 的 log-likelihood 沒有封閉解,這個缺口正好把課程帶向梯度下降。四講都有投影片與影片,Discussion 2–3 附解答與 walkthrough。
Lecture 8 把 MLE 的 argmax p(D|θ) 換成 argmax p(θ|D):先驗 p(θ) 乘進 likelihood,取負 log 之後就變成目標函數裡多出來的一項。用 trick coin 看先驗怎麼被資料蓋過,用 Beta 先驗算出點擊率,再把線性迴歸的高斯先驗、Laplace 先驗對到 L2、L1 正則化。
07-380 Lec10 的投影片目前還沒上課站,本文只依 PR6 Bayes Nets 預讀筆記與 15-281 Bayes Net Demo:聯合分佈能回答任何 query,但沒人給你、也大到存不下;Bayes net 把它寫成「每個節點給定父節點」的條件機率表乘積,少畫的邊就是獨立性假設。
第 2 週講機率:條件機率與貝氏法則把證據換算成機率;貝氏網路用箭頭把聯合機率拆成每個節點的條件機率表,列舉推論算得精確但慢,拒絕取樣與概似加權用樣本近似;馬可夫鏈用轉移模型描述隨時間變化的狀態,隱藏式馬可夫模型再加上感測模型,從觀察反推看不到的狀態。附逐段時間連結,以及 Heredity、PageRank 兩個專案的解題思路與檢查方式。
HW0 用四題檢查 CS181 的先修:矩陣 y=Xw 的可解條件、目標函數的微分與優化、機率推理,以及用 Python 實作 OLS。做不順的地方就是開學後要優先補的缺口。
Lecture 16 從 likelihood p(D|θ) 出發,以 i.i.d. 將聯合機率寫成乘積,再用 log 變成和;Bernoulli MLE 得到樣本比例,conditional Bernoulli 得到 logistic cross-entropy,Gaussian noise 則得到 squared error。
先把隨機問題列成結果集合,再談事件的機率。
條件不是裝飾,而是把樣本空間縮到已知資訊仍允許的部分。
Bayes 定理把容易建模的生成方向,翻成真正想問的推論方向。
先判斷順序是否重要、元素能否重複,公式才不會套錯。
隨機變數是把結果映成數字;期望值是加權平均,不保證會真的出現。
期望值把分布壓成加權平均;LOTUS 處理變換後的值,linearity 則讓隨機變數的和即使不獨立也能直接計算。
先用 variance 描述隨機變數的分散程度,再用 Poisson 處理固定區間內的事件數,以及大 n、小 p 的二項近似。
連續變數的單點機率為零,區間機率是 PDF 面積;CDF、Uniform 與 Exponential 則把面積、等待時間與 memorylessness 串起來。
標準化把不同尺度的 Normal 變數轉成 Z;Φ、線性轉換與 continuity correction 再把區間與大型 binomial 變成可計算的機率。
Joint distribution 保存多個變數的完整關係;marginal、conditional、independence 與 Bayes 都是從這份關係表取出不同問題的答案。
Inference 把 hidden variable 的 prior 逐項乘上 observation likelihood,再正規化成 posterior;同一迴圈可處理多次觀察與離散化的連續 belief。
Bayesian network 用 conditional independence 分解巨大 joint;ancestral sampling 生成 joint samples,rejection sampling 再以 evidence 篩出 conditional。
Multinomial 把 binomial 的兩類計數推廣到多類;同一 PMF 也能把文件視為 word counts,配 Bayes 與 log-score 做 authorship inference。
Beta distribution 表示對未知成功率的完整 belief;success/failure data 只需更新兩個參數,便能取得 posterior、平滑估計與 Thompson-sampling decision。
少數分布的 independent sums 有 closed form;一般 IID sums 則由 CLT 在大樣本下近似 Normal,離散 sums 還需 continuity correction。
Bootstrap 把 sample histogram 當作 population proxy,以 replacement 重抽並重算 statistic,近似 estimator 的 sampling distribution、error bar 與 null p-value。
隨機程式的 expected cost 可依第一個 random choice 分情境;計數問題則拆成 indicators,兩者都靠 linearity,而不必硬求完整 distribution。
Surprise 把低機率事件轉成 bits;entropy 是 expected surprise,information gain 選擇最能降低 uncertainty 的問題,KL 則量化錯用 model distribution 的額外代價。
MLE 固定觀察資料、最佳化參數;log-likelihood 讓乘積變加總,但最大值也可能落在邊界。
Logistic regression 用 sigmoid 把線性分數變成 Bernoulli 機率,而 gradient xⱼ(y-ŷ) 直接來自 log-likelihood 的 chain rule。
比較 classifier 不能只看 accuracy;還要用 held-out data、baseline、calibration、precision/recall 與明確的 fairness criterion。
Neural network 是堆疊的 logistic units;forward pass 算機率,backpropagation 重用 output error 來計算所有 gradients。
CS109 是 Stanford 給電腦科學學生的機率課:從計數、條件機率與隨機變數,走到推論、最大概似估計、邏輯迴歸與深度學習。互動式課程讀本、課堂習題與解答公開,每一講還附官方寫的 LLM 學習指南;第 15 講之後的投影片、作業系統與錄影校外拿不到。