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:XY

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

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

h(x)y

2. Linear Regression(线性回归)

2.1 模型形式

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

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

也就是:

hθ(x)=θTx

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

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

2.2 代价函数

线性回归使用平方误差:

J(θ)=12i=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+α(yhθ(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θy22

几何意义是:在 X 的列空间中,找到一个点 Xθ,使它最接近 y。也就是说:XθyCol(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:

(θ)=logL(θ)

最大化 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+ez

于是 logistic regression 的假设函数是:

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

它的输出范围是:

0<hθ(x)<1

可以解释为:

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

因此:

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

可以合并写成:

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

6.2 似然函数

给定训练集,likelihood 是:

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

log-likelihood 是:

(θ)=i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

我们最大化这个 log-likelihood。

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

J(θ)=i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(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 和参数 θyx;θ 服从某个 exponential family 分布:

yx;θExponentialFamily(η)

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

hθ(x)=E[yx;θ]

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 的特例

对于连续值回归,假设:

yx;θN(μ,σ2)

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

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

hθ(x)=θTx

这就是 linear regression。


8. Softmax Regression

对于多分类:

y{1,2,,k}

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

P(y=ix;θ)=exp(θiTx)j=1kexp(θjTx)

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

也可以写成向量形式:

hθ(x)=[P(y=1x;θ)P(y=2x;θ)P(y=kx;θ)]

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

i=1kP(y=ix;θ)=1

并且:

P(y=ix;θ)>0

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