LOADING

加载过慢请开启缓存 浏览器默认开启

CS229-1 Supervised Learning

从Linear Regression开始,到线性回归的Normal Equation与Probabilistic Interpretation;再引入Logistic Regression与Softmax Regression;最后使用Generalized Linear Models统一这三种回归。

1. Supervised Learning 基本设定

监督学习中,我们有训练集:

{(x(i),y(i))}i=1m

其中:

  • x(i) 是第 i 个样本的输入,也叫 features / input variables;
  • y(i) 是第 i 个样本的输出,也叫 target / label / output variable。

模型要学习一个函数:

h:X→Y

这个函数叫 hypothesis(假设函数)。

目标是:给定新的输入 x,希望预测:

h(x)≈y

2. Linear Regression(线性回归)

2.1 模型形式

线性回归假设输出是输入特征的线性组合:

hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn

也就是:

hθ(x)=θTx

其中 θ 是模型参数,也叫 parameters。

线性回归的本质是:找到一个超平面,使它尽可能拟合训练数据。 在二维中是拟合一条线;在高维中是拟合一个 hyperplane。

2.2 代价函数

线性回归使用平方误差:

J(θ)=12∑i=1m(hθ(x(i))−y(i))2

这里的 12 是为了求导时抵消平方的系数,没有本质影响。

目标是:

minθJ(θ)

也就是寻找参数 θ,让预测值和真实值之间的平方误差最小。

2.3 LMS Algorithm(最小均方算法)

LMS 是 Least Mean Squares 的缩写。它其实就是对平方误差做梯度下降。

对于单个样本:

J(θ)=12(hθ(x)−y)2

对参数 θj 求导:

∂J(θ)∂θj=(hθ(x)−y)xj

梯度下降更新:

θj:=θj−α∂J(θ)∂θj

代入得到:

θj:=θj+α(y−hθ(x))xj

这就是 LMS update rule。


3. Normal Equation(正规方程)

线性回归也可以不用迭代,直接求解析解。

把所有样本堆成设计矩阵:

X=[(x(1))T(x(2))T⋮(x(m))T]

标签写成:

y=[y(1)y(2)⋮y(m)]

模型预测为 Xθ。目标函数:

J(θ)=12(Xθ−y)T(Xθ−y)

对 θ 求导并令梯度为零:

∇θJ(θ)=XTXθ−XTy=0

得到:

XTXθ=XTy

所以:

θ=(XTX)−1XTy

这就是 normal equation。

几何意义

正规方程对应的是最小二乘问题:

minθ∥Xθ−y∥22

几何意义是:在 X 的列空间中,找到一个点 Xθ,使它最接近 y。也就是说:Xθ 是 y 在 Col(X) 上的正交投影。


4. Probabilistic Interpretation

假设真实标签由下面的过程生成:

y(i)=θTx(i)+ϵ(i)

其中噪声满足高斯分布:

ϵ(i)∼N(0,σ2)

那么:

y(i)∣x(i);θ∼N(θTx(i),σ2)

所以条件概率为:

p(y(i)∣x(i);θ)=12πσexp⁡(−(y(i)−θTx(i))22σ2)

整个数据集的 likelihood 是:

L(θ)=∏i=1mp(y(i)∣x(i);θ)

取 log 得到 log-likelihood:

ℓ(θ)=log⁡L(θ)

最大化 log-likelihood 等价于最小化:

∑i=1m(y(i)−θTx(i))2

结论:Least Squares 可以从 Gaussian noise assumption + Maximum Likelihood Estimation 推出来。


5. Locally Weighted Linear Regression(局部加权线性回归)

普通线性回归是全局拟合一个参数 θ。但如果数据本身不是全局线性的,可以在预测某个点 x 时,更重视附近的训练样本。

局部加权线性回归的目标函数是:

minθ∑i=1mw(i)(y(i)−θTx(i))2

其中权重通常取:

w(i)=exp⁡(−(x(i)−x)22τ2)

如果是多维输入,可以写成:

w(i)=exp⁡(−(x(i)−x)T(x(i)−x)2τ2)

其中 τ 叫 bandwidth parameter:

τ 很小 τ 很大
模型非常局部 模型更接近普通线性回归
容易过拟合 更加平滑

6. Classification and Logistic Regression(分类与逻辑回归)

接下来从回归转到分类。

二分类任务中:

y∈{0,1}
  • 0 = negative class
  • 1 = positive class

如果直接用线性回归做分类,会有一个问题:hθ(x)=θTx 可能小于 0 或大于 1,不能解释成概率。因此引入 sigmoid function。

6.1 Sigmoid / Logistic Function

定义:

g(z)=11+e−z

于是 logistic regression 的假设函数是:

hθ(x)=g(θTx)=11+e−θTx

它的输出范围是:

0<hθ(x)<1

可以解释为:

hθ(x)=P(y=1∣x;θ)

因此:

P(y=1∣x;θ)=hθ(x)P(y=0∣x;θ)=1−hθ(x)

可以合并写成:

P(y∣x;θ)=hθ(x)y(1−hθ(x))1−y

6.2 似然函数

给定训练集,likelihood 是:

L(θ)=∏i=1mhθ(x(i))y(i)(1−hθ(x(i)))1−y(i)

log-likelihood 是:

ℓ(θ)=∑i=1m[y(i)log⁡hθ(x(i))+(1−y(i))log⁡(1−hθ(x(i)))]

我们最大化这个 log-likelihood。

等价地,也可以最小化 negative log-likelihood,也就是 binary cross entropy:

J(θ)=−∑i=1m[y(i)log⁡hθ(x(i))+(1−y(i))log⁡(1−hθ(x(i)))]

6.3 梯度

一个非常重要的结论是:

∂ℓ(θ)∂θj=∑i=1m(y(i)−hθ(x(i)))xj(i)

所以梯度上升更新为:

θj:=θj+α∑i=1m(y(i)−hθ(x(i)))xj(i)

如果是单样本 SGD:

θj:=θj+α(y(i)−hθ(x(i)))xj(i)

注意它和线性回归 LMS 的形式完全一样:

θj:=θj+α(y(i)−hθ(x(i)))xj(i)

但是含义不同:

Linear Regression Logistic Regression
hθ(x) θTx sigmoid(θTx)
来源 Gaussian likelihood Bernoulli likelihood

7. Generalized Linear Models(广义线性模型)

7.1 Exponential Family(指数族分布)

如果一个分布可以写成:

p(y;η)=b(y)exp⁡(ηTT(y)−a(η))

那么它属于 exponential family。

  • η = natural parameter(自然参数)
  • T(y) = sufficient statistic(充分统计量)
  • a(η) = log partition function(对数配分函数)
  • b(y) = base measure(基础测度)

7.2 GLM 的三个假设

构造 GLM 时通常有三个 assumptions:

Assumption 1: 给定 x 和参数 θ,y∣x;θ 服从某个 exponential family 分布:

y∣x;θ∼ExponentialFamily(η)

Assumption 2: 预测目标是条件期望:

hθ(x)=E[y∣x;θ]

Assumption 3: natural parameter η 和输入 x 线性相关:

η=θTx

这三个假设非常关键。

7.3 Logistic Regression 是 GLM 的特例

对于二分类:y∈{0,1},使用 Bernoulli distribution。

Bernoulli 分布可以写成指数族形式,并且它的 natural parameter 满足:

η=log⁡ϕ1−ϕ

反过来:

ϕ=11+e−η

由于 GLM 假设 η=θTx,所以:

ϕ=11+e−θTx

这正是 logistic regression。

所以 sigmoid 不是随便拍脑袋选出来的,而是:Bernoulli distribution + GLM assumptions 自然推出的 inverse link function。

7.4 Linear Regression 是 GLM 的特例

对于连续值回归,假设:

y∣x;θ∼N(μ,σ2)

在 Gaussian 的指数族形式中,预测均值为 μ=η。

而 GLM 假设 η=θTx,所以:

hθ(x)=θTx

这就是 linear regression。


8. Softmax Regression

对于多分类:

y∈{1,2,…,k}

使用 multinomial distribution。Softmax regression 的输出是:

P(y=i∣x;θ)=exp⁡(θiTx)∑j=1kexp⁡(θjTx)

它是 logistic regression 在多分类场景下的推广。

也可以写成向量形式:

hθ(x)=[P(y=1∣x;θ)P(y=2∣x;θ)⋮P(y=k∣x;θ)]

Softmax 的核心作用是把任意实数 logits 变成概率分布:

∑i=1kP(y=i∣x;θ)=1

并且:

P(y=i∣x;θ)>0

GLM 的核心思路: 先把输出分布写成 exponential family,找出它的 natural parameter η,然后假设 η=θTx。再利用 hθ(x)=E[y∣x],就能推出对应的 regression model。