Last updated on March 9, 2026 pm
本文为 SJTU-CS3612 机器学习课程的笔记整理,主要聚焦于公式及其推导过程。
Lecture 1: Linear Model
1.1 Linear regression
假设有 n 个样本的数据集 {xi1,xi2,…,xip,yi}i=1n,则线性模型可以表示为:
yi=β01+β1xi1+β2xi2+⋯+βpxip+εi=j=0∑pxijβj+εi
或者表示为矩阵形式:
y=X⊤β+ε
其中
X⊤=x1⊤x2⊤⋮xn⊤=11⋮1x11x21⋮xn1⋯⋯⋱⋯x1px2p⋮xnp,y=y1y2⋮yn,β=β1β2⋮βp,ε=ε1ε2⋮εn
1.2 Logistic regression
假设有 n 个样本的数据集 {xi1,xi2,…,xip,yi}i=1n,其中标签 yi∈{0,1}。设
Pr(yi=1∣Xi)=pi,Pr(yi=0∣Xi)=1−pi
令
logit(pi)=log1−pipi=Xi⊤β
那么
pi=sigmoid(Xi⊤β)=1+eXi⊤βeXi⊤β=1+e−Xi⊤β1
设每个样本的真实标签为 yi∗,那么预测正确的概率为
Pr(yi=yi∗∣Xi)=piyi∗(1−pi)1−yi∗=(1+eXi⊤βeXi⊤β)yi∗(1−1+eXi⊤βeXi⊤β)1−yi∗=1+eXi⊤βeyi∗Xi⊤β
采用最大似然估计,目标是所有样本全部预测正确的概率最大,即
Pr(β)=i=1∏npiyi∗(1−pi)1−yi∗=i=1∏n1+eXi⊤βeyi∗Xi⊤β
取对数,得
logPr(β)=i=1∑n[yi∗Xi⊤β−log(1+expXi⊤β)]
优化目标变为
βargmaxPr(β)≡βargmaxlogPr(β)
1.3 Classification
在分类问题中,标签一般为 yi∈{+1,−1},那么可以认为
Pr(yi=+1∣Xi)=1+e−Xi⊤β1,Pr(yi=−1∣Xi)=1+eXi⊤β1
合并起来,得到
p(yi)=1+e−yiXi⊤β1
1.4 Perceptron
一个基础的感知机,可以表示为:
yi=sign(Xi⊤β)
其中 sign(⋅) 是符号函数。
1.5 Three models
Generative models
给定观测变量 X 和目标变量 Y,生成式模型建模联合概率 pθ(X,Y)。推理时,使用条件概率公式:
pθ(Y∣X)=pθ(X)pθ(X,Y)=∑Y′pθ(X,Y′)pθ(X,Y)
假设 gθ 是一个生成式网络,给定输入
h∼N(0,I)
期望的输出为:
X=gθ(h)+ε
输出 X 的概率为:
pθ(X)=∫p(h)pθ(X∣h)dh
要增大 pθ(X),就是要增大 p(h) 和 pθ(X∣h)。
-
先考虑增大 p(h):由于 h∼N(0,I),即
p(h)=2π1exp(−21∥h∥2)
有
logp(h)=−21∥h∥2+constant
-
再考虑增大 pθ(X∣h):假设
X−gθ(h)=ε∼N(0,σ2I)
那么
X∣h∼N(gθ(h),σ2I)
从而
logpθ(X∣h)=−2σ2∥X−gθ(h)∥2+constant
Discriminative models
给定观测变量 X 和目标变量 Y,判别式模型建模条件概率 P(Y∣X)。设输入为 X,网络的输出为 K 维向量 fθ(X)。经过 Softmax 层,有
pθ(y=k∣X)=∑i=1kexp(fθ(i)(X))exp(fθ(k)(X))
Descriptive models
描述式模型建模输入数据分布 pθ(X)。可以计算为:
pθ(X)=∫exp(fθ(x))dxexp(fθ(X))
1.6 Loss functions
为了从数据集 {(Xi,yi)}i=1n 中学习 β,我们最小化损失函数
L(β)=i=1∑nL(yi,Xi⊤β)
其中 L(yi,Xi⊤β) 是对每个训练样本的损失。
Loss function for least squares regression
在线性回归中,我们常使用最小平方损失:
L(yi,Xi⊤β)=(yi−Xi⊤β)2
这一损失函数同样可以从最大似然估计中得到。先假设误差服从正态分布,即
yi−Xi⊤β=εi∼N(0,σ2I)
那么有
yi∣Xi∼N(Xi⊤β,σ2I)
即
Pr(yi∣Xi,β)=2πσ1exp[−2σ2(yi−Xi⊤β)2]
取负对数似然为损失函数,有:
L(yi,Xi⊤β)=−logPr(yi∣Xi,β)=−2σ2(yi−Xi⊤β)2+constant
从而
L(β)=i=1∑nL(yi,Xi⊤β)=−2σ2i=1∑n[logPr(yi∣Xi,β)−constant ]=i=1∑n(yi−Xi⊤β)2
因此,最小二乘法的本质是最大似然估计。
Loss function for robust linear regression
考虑到最小平方损失对 outliers 较为敏感,可以将损失函数中的平方换为绝对值,即:
L(yi,Xi⊤β)=∣yi−Xi⊤β∣
将两种损失结合,得到 Huber loss:
L(yi,Xi⊤β)={21(yi−Xi⊤β)2,δ∣yi−Xi⊤β∣−2δ2, if ∣yi−Xi⊤β∣≤δ otherwise
其中 δ 是选取的截断值,在 δ 之外采用绝对值损失。
Loss function for logistic regression with 0/1 responses
前面推导过,当标签 yi∈{0,1} 时,
Pr(yi∣Xi,β)=1+exp(Xi⊤β)exp(yiXi⊤β)
取负对数似然为损失函数,有:
L(yi,Xi⊤β)=−logPr(yi∣Xi,β)=−[yiXi⊤β−log(1+exp(Xi⊤β))]
Loss function for logistic regression with ± responses
前面推导过,当标签 yi∈{+1,−1} 时,
Pr(yi∣Xi,β)=1+exp(−yiXi⊤β)1
同样取负对数似然为损失函数,有:
L(yi,Xi⊤β)=−logPr(yi∣Xi,β)=log[1+exp(−yiXi⊤β)]
该损失被称为 logistic loss。
Loss functions for classification
1.7 Least Squares
1.8 Kullback-Leibler divergence and cross entropy
1.9 Maximum likelihood
1.10 Kullback-Leibler of conditionals
1.11 Stochastic gradient descent (SGD)
1.12 Gradient of log-likelihood
1.13 Langevin
1.14 Non-linear and non-parametric functions
1.15 Kernel Regression
1.16 Linear Discriminant Analysis (LDA)
Lecture 2: Support Vector Machines
Lecture 3: Kernels and Regularized Learning
Lecture 4: Neural Networks
Lecture 5: Reinforcement Learning
Lecture 6: Visualization, EM Algorithm and Shapley Values
参考资料
本文参考上海交通大学《机器学习》课程 CS3612 张拳石老师的 PDF 讲义整理。