邏輯迴歸:用梯度下降學出機率|台大林軒田 機器學習基石 第 10 堂
邏輯迴歸用 θ(wᵀx) 估計 P(+1|x),資料卻只有圈與叉。這堂課用最大概似推出 cross-entropy 誤差 ln(1 + exp(−y wᵀx)),用連鎖律算出梯度是 −yₙxₙ 的 θ 加權平均;令梯度為零是 w 的非線性方程式,沒有閉式解,所以改用固定學習率的梯度下降 w ← w − η∇E_in(w) 一步一步走到谷底。
邏輯迴歸用 θ(wᵀx) 估計 P(+1|x),資料卻只有圈與叉。這堂課用最大概似推出 cross-entropy 誤差 ln(1 + exp(−y wᵀx)),用連鎖律算出梯度是 −yₙxₙ 的 θ 加權平均;令梯度為零是 w 的非線性方程式,沒有閉式解,所以改用固定學習率的梯度下降 w ← w − η∇E_in(w) 一步一步走到谷底。
假設誤差是零均值、獨立同分布的高斯雜訊,對概似函數取 log 之後,最大概似就等於上一堂的最小平方。同一套做法換成 0/1 標籤與 sigmoid,得到邏輯斯迴歸,梯度仍是「誤差乘上輸入」。最後用 Newton 法對照 SGD:步數少,但每步要付 n·d² + d³ 的計算量。
soft-margin SVM 的 ξₙ 可以直接寫成 max(1 − yₙ(wᵀzₙ + b), 0),整個問題就變成 ½wᵀw 加上 C 乘以 hinge 誤差的總和,是一個 L2 正則化模型,C 對應 1/(2λ)。hinge 誤差和邏輯迴歸的 cross-entropy 都是 0/1 誤差的凸上界,所以 SVM 近似於 L2 正則化邏輯迴歸。要機率輸出有兩條路:Platt 的兩層學習只多學兩個數字 A 與 B;representer theorem 則保證最佳的 w 是 zₙ 的線性組合,可以直接在 Z 空間做 kernel 邏輯迴歸,代價是 N 個 βₙ 通常都不是 0。
PLA、線性迴歸、邏輯迴歸都先算分數 s = wᵀx,三種誤差都能寫成 ys 的函數。平方誤差與換成 log₂ 的 cross-entropy 都壓在 0/1 誤差上面,所以把迴歸的 E_in 做小,分類的 E_out 也跟著有保證。接著把梯度裡的 N 筆平均換成隨機抽一筆,得到每步 O(1) 的 SGD;再用 OVA(K 個分類器、取分數最高)與 OVO(K(K−1)/2 個分類器、投票)把二元分類器組成多類別分類器。
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 曲線則在意類別比例。
CS181 Spring 2026 的 HW2(due 2/27)共四題 90 分:用行星觀測資料訓練 10 個 logistic 模型看偏差與變異、推導生成式分類的 MLE、在 27 筆貸款申請資料上實作五種分類器,再用 SGD/Momentum/Adam 看 ridge 怎麼改變損失地形。核心是分清「模型給的機率」和「10 個模型彼此不一致」這兩種不確定性。
Lecture 9 不直接預測 0 或 1,而以 sigmoid 建模 P(y=1|x),再用 cross-entropy 與凸最佳化學出參數;多類別版本自然延伸成 softmax regression。
第 3 週教邏輯迴歸:把文件變成特徵向量,加權總和後通過 sigmoid 得到機率,用 cross-entropy 量錯多少,再用梯度下降修權重。本文照投影片的影評例子把預測、loss 與一次權重更新各算一遍,並說明為什麼評估要看 precision 與 recall。
HW4 把機率解釋、cross-entropy 梯度與程式實作綁在一起,驗收的是一條可追蹤的訓練流程。