【高级机器学习】 4. 假设复杂度与泛化理论详解
机器学习中的假设复杂度与泛化理论详解
引言
在机器学习中,我们经常面临一个核心问题:为什么我们的模型能够在训练数据上表现良好,同时也能在未见过的新数据上表现出色? 这就是著名的泛化问题。本文将深入探讨假设复杂度与泛化性能之间的关系。
1. 基础概念回顾
1.1 最优分类器的定义
理论上的最佳分类器可以数学化定义为:
argminhE[1{Y≠sign(h(X))}]\arg \min_h E[1_{\{Y \neq \text{sign}(h(X))\}}]arghminE[1{Y=sign(h(X))}]
其中:
- h(X)h(X)h(X) 是我们的假设函数
- YYY 是真实标签
- 1{⋅}1_{\{\cdot\}}1{⋅} 是指示函数(条件成立时为1,否则为0)
- E[⋅]E[\cdot]E[⋅] 表示期望
问题:这个目标函数既不是凸函数也不光滑,很难直接优化。
1.2 替代损失函数
为了解决优化困难,我们通常使用替代损失函数:
常见的凸替代损失函数:
- 合页损失(Hinge Loss):ℓ(X,Y,h)=max{0,1−Yh(X)}\ell(X,Y,h) = \max\{0, 1-Yh(X)\}ℓ(X,Y,h)=max{0,1−Yh(X)}
- 逻辑损失(Logistic Loss):ℓ(X,Y,h)=log2(1+exp(−Yh(X)))\ell(X,Y,h) = \log_2(1 + \exp(-Yh(X)))ℓ(X,Y,h)=log2(1+exp(−Yh(X)))
- 平方损失(Least Squares):ℓ(X,Y,h)=(Y−h(X))2=(1−Yh(X))2\ell(X,Y,h) = (Y - h(X))^2 = (1 - Yh(X))^2ℓ(X,Y,h)=(Y−h(X))2=(1−Yh(X))2
- 指数损失(Exponential Loss):ℓ(X,Y,h)=exp(−Yh(X))\ell(X,Y,h) = \exp(-Yh(X))ℓ(X,Y,h)=exp(−Yh(X))
非凸替代损失函数:
- 柯西损失:ℓ(X,Y,h)=log2(1+(1−Yh(X)σ)2)\ell(X,Y,h) = \log_2\left(1 + \left(\frac{1-Yh(X)}{\sigma}\right)^2\right)ℓ(X,Y,h)=log2(1+(σ1−Yh(X))2)
- 相关熵损失:ℓ(X,Y,h)=1−exp(−(1−Yh(X)σ)2)\ell(X,Y,h) = 1 - \exp\left(-\left(\frac{1-Yh(X)}{\sigma}\right)^2\right)ℓ(X,Y,h)=1−exp(−(σ1−Yh(X))2)
2. 梯度下降优化方法
2.1 基本思想
我们要解决的无约束凸优化问题:
argminh∈Hf(h)=argminh∈H1n∑i=1nℓ(Xi,Yi,h)\arg \min_{h \in H} f(h) = \arg \min_{h \in H} \frac{1}{n}\sum_{i=1}^n \ell(X_i, Y_i, h)argh∈Hminf(h)=argh∈Hminn1i=1∑nℓ(Xi,Yi,h)
2.2 泰勒定理应用
根据泰勒定理,对于在点aaa处kkk次可微的函数fff:
f(x)=f(a)+f′(a)(x−a)+⋯+f(k)(a)k!(x−a)k+hk(x)(x−a)kf(x) = f(a) + f'(a)(x-a) + \cdots + \frac{f^{(k)}(a)}{k!}(x-a)^k + h_k(x)(x-a)^kf(x)=f(a)+f′(a)(x−a)+⋯+k!f(k)(a)(x−a)k+hk(x)(x−a)k
其中limx→ahk(x)=0\lim_{x \to a} h_k(x) = 0limx→ahk(x)=0。
当k=1k=1k=1时:
f(x)=f(a)+f′(a)(x−a)+o(x−a)f(x) = f(a) + f'(a)(x-a) + o(x-a)f(x)=f(a)+f′(a)(x−a)+o(x−a)
2.3 更新规则
设更新规则为:hk+1=hk+ηdkh^{k+1} = h^k + \eta d^khk+1=hk+ηdk
令x=hk+1x = h^{k+1}x=hk+1, a=hka = h^ka=hk,我们得到:
f(hk+1)=f(hk)+η∇f(hk)Tdk+o(η)f(h^{k+1}) = f(h^k) + \eta \nabla f(h^k)^T d^k + o(\eta)f(hk+1)=f(hk)+η∇f(hk)Tdk+o(η)
关键设计问题:
- 如何设计方向dkd^kdk?
- 如何选择步长η\etaη?
通常设置dk=−Dk∇f(hk)d^k = -D^k \nabla f(h^k)dk=−Dk∇f(hk),其中DkD^kDk是某个正定矩阵。
2.4 收敛速度
算法 | 假设条件 | 收敛速度 |
---|---|---|
梯度下降 | Lipschitz梯度,凸函数 | O(1/k)O(1/k)O(1/k) |
梯度下降 | Lipschitz梯度,强凸函数 | O((1−μ/L)k)O((1-\mu/L)^k)O((1−μ/L)k) |
牛顿法 | Lipschitz梯度,强凸函数 | 二次收敛 |
其中强凸情况下的线性收敛率为:
f(hk+1)−f(h∗)≤(1−μL)k(f(h1)−f(h∗))f(h^{k+1}) - f(h^*) \leq \left(1 - \frac{\mu}{L}\right)^k (f(h^1) - f(h^*))f(hk+1)−f(h∗)≤(1−Lμ)k(f(h1)−f(h∗))
3. 假设类与泛化理论
3.1 关键概念定义
机器学习算法本质上是一个映射:
A:S∈(X×Y)n→hS∈HA: S \in (X \times Y)^n \rightarrow h_S \in HA:S∈(X×Y)n→hS∈H
其中:
- SSS 是训练样本
- HHH 是预定义的假设类
- hSh_ShS 是从数据中学到的假设
3.2 三个重要的假设
- 目标概念(Target Concept):c=argminhR(h)c = \arg \min_h R(h)c=argminhR(h)
- 假设类中的最优假设:h∗=argminh∈HR(h)h^* = \arg \min_{h \in H} R(h)h∗=argminh∈HR(h)
- 从数据学到的假设:hS=argminh∈HRS(h)h_S = \arg \min_{h \in H} R_S(h)hS=argminh∈HRS(h)
3.3 两类误差分解
总误差 = 近似误差 + 估计误差
- 近似误差:R(h∗)−R(c)R(h^*) - R(c)R(h∗)−R(c),由假设类HHH的表达能力限制造成
- 估计误差:R(hS)−R(h∗)R(h_S) - R(h^*)R(hS)−R(h∗),由有限训练数据造成
![误差分解示意图]
通用函数空间↓目标c ← 近似误差 → h* (假设类H中的最优)↓ 估计误差h_S (从数据学到的)
- 如果目标c在预定义的假设类H中,那么近似approximation误差会等于0
- 但是同时,我们不可以把假设空间设得很大。1.大的假设会使得更难学习2.estimate估计误差会变大
3.4 风险定义
- 经验风险:RS(h)=1n∑i=1nℓ(Xi,Yi,h)R_S(h) = \frac{1}{n}\sum_{i=1}^n \ell(X_i, Y_i, h)RS(h)=n1∑i=1nℓ(Xi,Yi,h)
- 期望风险:R(h)=E[RS(h)]=E[ℓ(X,Y,h)]R(h) = E[R_S(h)] = E[\ell(X,Y,h)]R(h)=E[RS(h)]=E[ℓ(X,Y,h)]
4. PAC学习框架
4.1 PAC学习定义
定义:假设类HHH被称为PAC(概率近似正确)可学习的,如果存在学习算法AAA和多项式函数poly(⋅,⋅)\text{poly}(\cdot, \cdot)poly(⋅,⋅),使得对于任意ϵ>0\epsilon > 0ϵ>0, δ>0\delta > 0δ>0,以及X×YX \times YX×Y上的任意分布DDD,当样本大小n>poly(1/δ,1/ϵ)n > \text{poly}(1/\delta, 1/\epsilon)n>poly(1/δ,1/ϵ)时,算法AAA学到的假设hSh_ShS满足:
P{R(hS)−minh∈HR(h)≤ϵ}≥1−δP\left\{R(h_S) - \min_{h \in H} R(h) \leq \epsilon\right\} \geq 1 - \deltaP{R(hS)−h∈HminR(h)≤ϵ}≥1−δ
直观理解:
- 概率(Probably):以高概率1−δ1-\delta1−δ
- 近似(Approximately):误差不超过ϵ\epsilonϵ
- 正确(Correct):找到接近最优的假设
如果训练样本量足够大,具有很高的概率,则学习到的假设可以是任何task的预定义假设类中最佳假设的近似值
4.2 PAC可学习性检验
我们使用经验风险最小化(ERM)算法来验证假设类是否PAC可学习。
关键不等式推导:
R(hS)−minh∈HR(h)=R(hS)−R(h∗)R(h_S) - \min_{h \in H} R(h) = R(h_S) - R(h^*)R(hS)−h∈HminR(h)=R(hS)−R(h∗)
展开得到:
=R(hS)−RS(hS)+RS(hS)−RS(h∗)+RS(h∗)−R(h∗)= R(h_S) - R_S(h_S) + R_S(h_S) - R_S(h^*) + R_S(h^*) - R(h^*)=R(hS)−RS(hS)+RS(hS)−RS(h∗)+RS(h∗)−R(h∗)
由于RS(hS)≤RS(h∗)R_S(h_S) \leq R_S(h^*)RS(hS)≤RS(h∗)(ERM的定义),所以:
R(hS)−R(h∗)≤∣R(hS)−RS(hS)∣+∣R(h∗)−RS(h∗)∣R(h_S) - R(h^*) \leq |R(h_S) - R_S(h_S)| + |R(h^*) - R_S(h^*)|R(hS)−R(h∗)≤∣R(hS)−RS(hS)∣+∣R(h∗)−RS(h∗)∣
≤2suph∈H∣R(h)−RS(h)∣\leq 2\sup_{h \in H}|R(h) - R_S(h)|≤2h∈Hsup∣R(h)−RS(h)∣
核心问题:如何控制suph∈H∣R(h)−RS(h)∣\sup_{h \in H}|R(h) - R_S(h)|suph∈H∣R(h)−RS(h)∣?
5. 集中不等式与泛化界
5.1 Hoeffding不等式
定理:设X1,…,XnX_1, \ldots, X_nX1,…,Xn为独立随机变量,且Xi∈[ai,bi]X_i \in [a_i, b_i]Xi∈[ai,bi]。令Sn=1n∑i=1nXiS_n = \frac{1}{n}\sum_{i=1}^n X_iSn=n1∑i=1nXi,则对任意ϵ>0\epsilon > 0ϵ>0:
P{∣Sn−E[Sn]∣≥ϵ}≤2exp(−2n2ϵ2∑i=1n(bi−ai)2)P\{|S_n - E[S_n]| \geq \epsilon\} \leq 2\exp\left(-\frac{2n^2\epsilon^2}{\sum_{i=1}^n(b_i-a_i)^2}\right)P{∣Sn−E[Sn]∣≥ϵ}≤2exp(−∑i=1n(bi−ai)22n2ϵ2)
5.2 应用到学习理论
假设损失函数有界:ℓ(X,Y,h)∈[0,M]\ell(X,Y,h) \in [0,M]ℓ(X,Y,h)∈[0,M],则对单个假设hhh:
P{∣R(h)−RS(h)∣≥ϵ}≤2exp(−2nϵ2M2)P\{|R(h) - R_S(h)| \geq \epsilon\} \leq 2\exp\left(-\frac{2n\epsilon^2}{M^2}\right)P{∣R(h)−RS(h)∣≥ϵ}≤2exp(−M22nϵ2)
5.3 联合界(Union Bound)
对于有限假设类HHH,使用联合界:
P{suph∈H∣R(h)−RS(h)∣≥ϵ}≤∑h∈HP{∣R(h)−RS(h)∣≥ϵ}P\left\{\sup_{h \in H}|R(h) - R_S(h)| \geq \epsilon\right\} \leq \sum_{h \in H} P\{|R(h) - R_S(h)| \geq \epsilon\}P{h∈Hsup∣R(h)−RS(h)∣≥ϵ}≤h∈H∑P{∣R(h)−RS(h)∣≥ϵ}
≤2∣H∣exp(−2nϵ2M2)\leq 2|H|\exp\left(-\frac{2n\epsilon^2}{M^2}\right)≤2∣H∣exp(−M22nϵ2)
5.4 泛化界
设δ=2∣H∣exp(−2nϵ2M2)\delta = 2|H|\exp\left(-\frac{2n\epsilon^2}{M^2}\right)δ=2∣H∣exp(−M22nϵ2),解得:
ϵ=Mlog∣H∣+log(2/δ)2n\epsilon = M\sqrt{\frac{\log|H| + \log(2/\delta)}{2n}}ϵ=M2nlog∣H∣+log(2/δ)
因此,以至少1−δ1-\delta1−δ的概率:
suph∈H∣R(h)−RS(h)∣≤Mlog∣H∣+log(2/δ)2n\sup_{h \in H}|R(h) - R_S(h)| \leq M\sqrt{\frac{\log|H| + \log(2/\delta)}{2n}}h∈Hsup∣R(h)−RS(h)∣≤M2nlog∣H∣+log(2/δ)
关键洞察:假设类越大(∣H∣|H|∣H∣越大),泛化界越松!
6. VC维理论
6.1 动机
当假设类HHH包含无穷多个假设时,如何分析泛化性能?
核心思想:虽然HHH可能无穷大,但对于固定的训练集,我们可以将假设按照它们在训练集上的预测结果进行分组。
6.2 增长函数
定义:假设类HHH的增长函数定义为:
ΠH(n)=maxX1,…,Xn∣{(h(X1),…,h(Xn)):h∈H}∣\Pi_H(n) = \max_{X_1,\ldots,X_n} |\{(h(X_1),\ldots,h(X_n)) : h \in H\}|ΠH(n)=X1,…,Xnmax∣{(h(X1),…,h(Xn)):h∈H}∣
直观含义:对于nnn个样本点,假设类HHH最多能产生多少种不同的分类结果。
6.3 打散(Shattering)
定义:数据点集合{X1,…,Xn}\{X_1,\ldots,X_n\}{X1,…,Xn}被假设类HHH打散,当且仅当HHH能实现所有可能的二元预测,即:
ΠH(n)=2n\Pi_H(n) = 2^nΠH(n)=2n
6.4 VC维
定义:假设类HHH的VC维是能被HHH完全打散的最大集合的大小:
VC-dim(H)=max{n:ΠH(n)=2n}\text{VC-dim}(H) = \max\{n : \Pi_H(n) = 2^n\}VC-dim(H)=max{n:ΠH(n)=2n}
6.5 VC维示例
示例1:区间函数类
H={x↦1{x∈(a,b)}:a<b∈R}H = \{x \mapsto 1_{\{x \in (a,b)\}} : a < b \in \mathbb{R}\}H={x↦1{x∈(a,b)}:a<b∈R}
- ΠH(1)=2\Pi_H(1) = 2ΠH(1)=2
- ΠH(2)=4\Pi_H(2) = 4ΠH(2)=4
- ΠH(3)=7<23\Pi_H(3) = 7 < 2^3ΠH(3)=7<23
VC维 = 2
示例2:R2\mathbb{R}^2R2中的线性分类器
H={(x1,x2)↦1{w1x1+w2x2+b≥0}:w1,w2,b∈R}H = \{(x_1,x_2) \mapsto 1_{\{w_1x_1 + w_2x_2 + b \geq 0\}} : w_1,w_2,b \in \mathbb{R}\}H={(x1,x2)↦1{w1x1+w2x2+b≥0}:w1,w2,b∈R}
通过几何分析可以证明:
- 可以打散3个点
- 不能打散任意4个点
VC维 = 3
6.6 Sauer引理
定理:设假设类HHH的VC维为ddd,则对所有n≥dn \geq dn≥d:
ΠH(n)≤(end)d\Pi_H(n) \leq \left(\frac{en}{d}\right)^dΠH(n)≤(den)d
6.7 基于VC维的泛化界
通过复杂的分析(涉及Rademacher复杂度等高级技术),可以证明:
以至少1−δ1-\delta1−δ的概率:
suph∈H∣R(h)−RS(h)∣≤M32(dlog(en/d)+log(8/δ))n\sup_{h \in H}|R(h) - R_S(h)| \leq M\sqrt{\frac{32(d\log(en/d) + \log(8/\delta))}{n}}h∈Hsup∣R(h)−RS(h)∣≤Mn32(dlog(en/d)+log(8/δ))
其中ddd是HHH的VC维。
6.8 PAC可学习性结论
定理:如果假设类HHH具有有限的VC维ddd,则HHH是PAC可学习的,所需样本复杂度为:
n=O(M2ϵ2(dlog(en/d)+log(8/δ)))n = O\left(\frac{M^2}{\epsilon^2}(d\log(en/d) + \log(8/\delta))\right)n=O(ϵ2M2(dlog(en/d)+log(8/δ)))
这是关于1/ϵ1/\epsilon1/ϵ和1/δ1/\delta1/δ的多项式,满足PAC学习的要求。
7. 实践指导
7.1 偏差-方差权衡
从我们的分析可以看出:
- 简单模型(小HHH):近似误差大,估计误差小
- 复杂模型(大HHH):近似误差小,估计误差大
最优策略:根据数据量选择合适复杂度的模型。
7.2 样本复杂度指导
根据VC维理论,学习一个VC维为ddd的假设类,大约需要:
n≈O(dϵ2)n \approx O\left(\frac{d}{\epsilon^2}\right)n≈O(ϵ2d)
个样本来达到ϵ\epsilonϵ精度。
实践经验:通常需要至少10d10d10d到20d20d20d个训练样本。
7.3 模型选择建议
- 数据充足时:可以选择复杂模型(深度神经网络等)
- 数据稀少时:应选择简单模型(线性模型、浅层网络等)
- 使用正则化:在复杂模型中加入正则化项,等效于减小假设类大小
总结
本文介绍了机器学习理论中的核心概念:
- 替代损失函数帮助我们将难优化的分类问题转化为可优化的形式
- PAC学习框架提供了分析学习算法的数学工具
- VC维理论将泛化能力与假设类复杂度联系起来
- 偏差-方差权衡指导我们在实践中选择合适复杂度的模型
核心洞察:机器学习的本质是在表达能力和泛化能力之间找到平衡点。理解这一点对于设计和应用机器学习算法至关重要。
进一步阅读
- 《统计学习理论基础》(Vapnik)
- 《机器学习基础》(Mohri, Rostamizadeh, Talwalkar)
- 《模式识别与机器学习》(Bishop)
通过理解这些理论基础,我们能够更好地设计机器学习系统,避免过拟合,并在有限数据下获得更好的泛化性能。