所有分類HW5 是 Spring 2026 唯一標成選修的作業,5/11 到期,和期末考同一天。書面有三塊:用 scRNA-seq 當背景推 InfoNCE 的梯度與負樣本數的取捨;證明最佳去噪器是條件期望、推到 continuity equation;把 flow matching 的直線路徑推廣成一般插值。Notebook 則是完整的 LLM 微調流程:固定用 Qwen2.5-0.5B-Instruct,把 MMLU machine_learning 轉成 chat 格式,用 TRL 的 SFTTrainer 全參數微調,比較微調前後在 CS189 考題上的準確率,最後對 169 題測試集提交 Kaggle,同時要防 catastrophic forgetting。官方附 hw5-sol.pdf,只涵蓋書面題。
CS189 Spring 2026 的前三講不急著推公式,先教你怎麼判斷一個問題該不該用 ML、怎麼用 pandas 和 Plotly 看資料、怎麼用 scikit-learn 走完一次訓練、驗證、測試的流程。Lec 1 只有投影片沒有錄影;Lec 2–3 有投影片與影片;Discussion 1 是微積分、線代、機率的熱身,附解答與 walkthrough。這三講是 HW1 的直接前置。
CS189 Spring 2026 第 4–7 講用一條線串起非監督式學習:先用 K-means 分群,指出它的弱點(硬指派、沒有機率框架、只適合體積相近的圓形群),再複習機率、引入最大概似估計(MLE)與多變量高斯,最後把 K-means 改寫成高斯混合模型(GMM)。GMM 的 log-likelihood 沒有封閉解,這個缺口正好把課程帶向梯度下降。四講都有投影片與影片,Discussion 2–3 附解答與 walkthrough。
CS189 Spring 2026 用四講把線性回歸講成同一件事的三個角度:高斯雜訊下的 MLE 等於最小平方;最小平方的解是把 y 正交投影到 X 的欄空間;特徵共線或參數太多時,用 ridge(等於高斯先驗的 MAP)或 lasso(等於 Laplace 先驗)把解拉回來,λ 則交給驗證集決定。講義、影片、Discussion 3–4 解答都能匿名取得。
CS189 Spring 2026 Lec 11–12 把分類拆成兩條路:生成式先為每一類建 p(x|y)(GDA:共變異數相同得 LDA、線性邊界,不同得 QDA、二次邊界),判別式直接建 p(y|x)(logistic regression:sigmoid、softmax、交叉熵 MLE,沒有封閉解要靠梯度下降)。兩者的橋是:LDA 的後驗一定能寫成 logistic 形式,反過來不成立。評估方面,準確率在類別不平衡時會騙人,ROC/AUC 掃過所有門檻、不看校準,PR 曲線則在意類別比例。
CS189 Spring 2026 用兩講處理梯度下降。Lec 13 從 Hessian 的特徵值推出學習率上限和條件數,再一路講到 momentum、學習率排程、AdaGrad/RMSProp/Adam 與 mini-batch SGD。Lec 15 由 Dimakis 用一個小資料表手算梯度重走一遍。兩份講義、錄影、Lec 13 的手寫稿,以及 Discussion 6、7(附解答)都能匿名取得。
Lec 14 把 ridge 重新解釋成「最小平方 + 高斯先驗」的 MAP,再拆解 bias-variance,最後借 Chatbot Arena 示範怎麼讀論文。Lec 16 從壓縮講熵,接到 KL、cross-entropy,再回到 logistic regression 的損失函數。3/17 的期中考題與官方解答都公開在考古題資料夾:6 題、56 分、110 分鐘,另有 6 支逐題講解影片,可以照著模擬一次。
Lec 17 用 XOR 說明為什麼線性模型、甚至多層線性模型都學不會非線性邊界,只要一層 ReLU 就能解;萬能近似定理保證「存在」,但不告訴你怎麼找權重、要多寬。Lec 18 把 chain rule 系統化成計算圖上的反向傳播:多條路徑的梯度相加,成本和參數數量成線性,有限差分則是平方。Discussion 8 讓你親手證明 GD 收斂速率與一維 ReLU 萬能近似。
Lec 19 先收尾反向傳播,接著處理「怎麼讓梯度一直流得動」:全零初始化會讓所有單元學成一樣,要用小的隨機值(ReLU 用 He 初始化);batch norm 用 mini-batch 的平均與變異數正規化 pre-activation。後半進入 CNN:局部連接加權重共享,讓同一個特徵偵測器掃過整張圖。Lec 20 補完 pooling、receptive field 與 CNN 的訓練,再談 early stopping、dropout,以及和傳統 bias-variance 圖不一樣的 double descent。
Lec 21 先講 CNN 缺什麼:只有頂層看得到整張圖。接著用 TF-IDF、RNN 看圖說話、soft attention 鋪路。Lec 22 從「軟性字典查詢」推出 self-attention:Q、K、V 三個線性層,SoftMax(QKᵀ/√D)V,再加上多頭、MLP、殘差與 LayerNorm,組成 transformer layer。attention 本身不看順序,所以需要位置編碼。Discussion 10 手算一次 QKV,並證明為什麼要除以 √D。
Lec 23 把 transformer 接成一個會預測下一個 token 的模型:切 token、查 embedding、疊 L 層 masked attention,最後乘回 embedding 表做 softmax,用交叉熵(也就是 MLE)訓練。預訓練只給知識,要會聊天還需要 SFT、LoRA、RLHF、DPO;推論時再靠 in-context learning、RAG、chain-of-thought 與工具呼叫。Lec 24 把「自己造一個假的監督任務」推廣到影像:自編碼器、上色、補洞、旋轉、拼圖、聚類,最後到對比學習、SimCLR 與 CLIP。Discussion 11 練位置編碼、RoPE、causal mask 與 KV cache。
最後三講把前面學的東西用在兩個前線。Lec 25 講蛋白質:AlphaFold2 解了「序列→結構」,但工程上真正卡的是「哪條序列有我要的功能」,而設計等於在 20^L 的離散空間裡當模型的對手;講義把條件生成 p(x|y) 收斂成三條統計上正確的路,最後都回到 Bayes rule。Lec 26 是線上 guest lecture,沒有公開教材。Lec 27 先定義 agent(LLM 在迴圈裡用工具、自己決定下一步),再說「資料被環境取代」:環境 = Docker + 任務 + verifier,拿來做 SFT、RL(RLVR、GRPO)或不動權重的 GEPA。期末自評用 Fall 2025 與 Spring 2025 期末考加解答,Spring 2026 期末沒有公開。
HW1 程式作業把 Lec2 的 entailment 做成一個 Pacman 版 Wumpus agent:Q1–Q2 用 Expr 和 pycosat 暖身,Q3–Q5 寫 PKE 感知規則、建 KB、用兩次 SAT 呼叫判斷 SAFE/NOT_SAFE/UNSURE,Q6–Q7 用現成的 A* 輔助函式組出 exploration agent 和三層策略的 hybrid agent。starter 與本機 autograder 可匿名下載;Gradescope 上的線上題只限校內。本文不附解答。
07-380 HW2 分三塊:程式作業先寫煎餅機器人的 PDDL,交給 unified-planning+Fast Downward 求最優計畫,再在 rrt.py 實作 RRT 與 RRT*(Q2–Q7);書面作業考 GraphPlan、一題 LP 建模與兩題 LP 圖解;另有只限校內的 Gradescope 線上題。本文只講題目結構、需要的概念與本機 autograder 怎麼跑,不附解答。
HW3 分三塊:程式作業要你用頂點枚舉寫出 LP 求解器,再在上面疊 branch and bound 解整數規劃,外加三題文字建模;書面四題分別是整數規劃手算、Amazon 送貨路線的倫理、PCA 的 SVD 計算,以及證明 Laplace 先驗等價 L1。截止日是 10/1,本文只講結構和需要的概念,不給解答。
07-380 Lec1 沒有演算法,重點是三件事:「智慧=在不確定性下把任務做好」這條主線、投影片上那張把 07-280 與 07-380 主題分色的 AI/ML 泡泡圖,以及 Quiz 55%、沒有期末考、Project 收尾的評分結構。校外讀者先用這講替後面 25 講定位。
Lec2 把踩地雷和 Wumpus World 的「這格安不安全」寫成 entailment 問題:KB ⊨ α 等價於 KB ∧ ¬α 不可滿足。能回答它的有三種做法:暴力列舉 model 的 TT-ENTAILS、在回溯上加提早終止、pure symbol、unit clause 的 DPLL,以及只吃 definite clause、線性時間的 forward chaining。Resolution 放在附錄,標示 out of scope。
07-380 Lec3 把命題邏輯的 successor-state axioms 換成 STRIPS 的 pre/add/del 三個集合,規劃就變回狀態空間搜尋;搜尋太大時,GraphPlan 允許動作同時發生、事實只增不減,delete relaxation 再把刪除效果整個拿掉,換來 FF 與 Fast Downward 使用的 heuristic。
07-380 Lec4 後半把規劃搬到連續的 configuration space:狀態沒辦法枚舉,RRT 就隨機取樣、從樹上最近的節點往樣本延伸一小段,並檢查整段不碰撞。RRT 是 probabilistically complete 但不最優;RRT* 用樹上的路徑成本幫新節點選父節點、再重接鄰居,讓路徑隨樣本增加收斂到最優。
07-380 Lec5 用 Diet Problem 把一段文字題寫成 min cᵀx s.t. Ax ⪯ b,再畫成圖:每條限制是一個半平面,cost 是一個方向,等成本線垂直於 c。沿著 −c 推到最後一刻碰到可行域的地方,一定包含某個頂點,所以演算法只要看限制邊界的交點:頂點枚舉全部檢查,simplex 從一個頂點貪心走到鄰居。