跳转至

第五章 机器学习基础

章节概述

本章是《深度学习》一书中承上启下的核心章节,系统性地介绍了机器学习的基本概念、理论框架和核心算法。机器学习作为深度学习的理论和实践基础,其重要性再怎么强调都不为过。本章首先从学习范式的角度出发,介绍监督学习、无监督学习、半监督学习和强化学习四大主要类别,厘清它们之间的区别与联系;随后引入容量(capacity)、偏差-方差分解(bias-variance decomposition)等理论工具,分析过拟合与欠拟合的本质成因;接着深入探讨正则化技术,包括 \(L_1\) 正则化、\(L_2\) 正则化和 Dropout;随后系统阐述极大似然估计(MLE)和最大后验估计(MAP)两种参数推断框架,以及贝叶斯推理的基本思想;进而介绍无监督学习中的三种代表性算法——\(k\)-均值聚类、主成分分析(PCA)和独立成分分析(ICA);最后讨论泛化理论,包括 VC 维度和超参数调优等实践问题。本章内容为后续深度网络的设计与训练提供了坚实的理论基础。


第一节 学习范式:监督、无监督、半监督与强化学习

机器学习研究的核心问题是:如何让计算机系统从数据中自动提取规律并做出预测?根据数据中是否包含标签(label)以及学习信号的不同形式,机器学习可以分为四种主要范式。

1.1 监督学习(Supervised Learning)

监督学习是机器学习中发展最成熟、应用最广泛的分支。其基本设定如下:给定一个训练数据集 \(\mathcal{D} = \{(\mathbf{x}^{(i)}, y^{(i)})\}_{i=1}^{N}\),其中 \(\mathbf{x}^{(i)}\) 是输入特征向量,\(y^{(i)}\) 是对应的标签(或目标值),监督学习的目标是学习一个从输入空间 \(\mathcal{X}\) 到输出空间 \(\mathcal{Y}\) 的映射函数 \(f: \mathcal{X} \rightarrow \mathcal{Y}\),使得对于新的输入 \(\mathbf{x}\),模型能够做出准确的预测。

根据输出空间的性质,监督学习又可分为回归(regression)分类(classification)两大类。在回归问题中,\(\mathcal{Y}\) 是连续空间,例如预测房价、气温或股票价格,模型输出一个标量值;在分类问题中,\(\mathcal{Y}\) 是离散的类别集合,例如图像分类、垃圾邮件检测和疾病诊断,模型输出一个类别标签。

监督学习的形式化定义可以追溯到 Tom Mitchell(1997)提出的经典框架:一个计算机程序被称为从经验 \(E\) 中学习任务 \(T\),如果它在任务 \(T\) 上的性能度量 \(P\) 随经验 \(E\) 的增加而提升。监督学习中,经验 \(E\) 即为带标签的训练数据,性能度量 \(P\) 则由损失函数 \(\mathcal{L}(y, f(\mathbf{x}))\) 定义。常用的损失函数包括均方误差(Mean Squared Error, MSE)用于回归问题:

\[ \mathcal{L}_{\text{MSE}}(y, f(\mathbf{x})) = (y - f(\mathbf{x}))^2 \]

以及对数损失(log loss)用于二分类问题:

\[ \mathcal{L}_{\log}(y, f(\mathbf{x})) = -[y \log f(\mathbf{x}) + (1-y)\log(1-f(\mathbf{x}))] \]

监督学习的训练过程本质上是最小化经验风险(empirical risk),即在整个训练集上的平均损失:

\[ \hat{R}(f) = \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(y^{(i)}, f(\mathbf{x}^{(i)})) \]

然而,仅仅最小化训练误差是不够的——一个复杂的模型可能完全记住训练数据(过拟合),而在未见过的测试数据上表现糟糕。因此,监督学习的核心挑战在于平衡模型的拟合能力泛化能力,这将在后续章节中详细讨论。

1.2 无监督学习(Unsupervised Learning)

与监督学习不同,无监督学习处理的数据不包含标签,即训练数据集为 \(\mathcal{D} = \{\mathbf{x}^{(i)}\}_{i=1}^{N}\),其中每个样本仅包含输入特征,没有对应的输出目标。无监督学习的目的是从数据的底层结构中发现有意义的模式或表示。

无监督学习主要包括以下几类任务:聚类(clustering)——将数据划分为若干个语义上合理的簇,例如将新闻文章按主题分组、将客户按购买行为分群;降维(dimensionality reduction)——将高维数据映射到低维空间,同时尽可能保留原始数据中的重要结构信息,例如主成分分析(PCA)和 t-SNE;密度估计(density estimation)——学习数据的概率分布 \(p(\mathbf{x})\),以便进行异常检测或生成新样本;表示学习(representation learning)——自动学习数据的有效特征表示,为后续的监督学习任务提供更好的输入。

无监督学习的一个核心优势在于:现实世界中,未标注数据的获取成本远低于标注数据。互联网上每天产生海量的图片、文本和视频,但为它们逐一添加标签需要耗费大量人力物力。因此,无监督学习被认为是实现人工智能的关键一步——人类儿童主要通过无监督的方式(观察、玩耍、实验)学习世界规律,而非依赖明确的标签反馈。

1.3 半监督学习(Semi-supervised Learning)

半监督学习介于监督学习和无监督学习之间,其训练数据中只有一小部分样本带有标签,而大部分样本是未标注的。形式化地说,给定一个数据集 \(\mathcal{D} = \{(\mathbf{x}^{(i)}, y^{(i)})\}_{i=1}^{l} \cup \{\mathbf{x}^{(j)}\}_{j=l+1}^{l+u}\),其中前 \(l\) 个样本是标注数据,后 \(u\) 个样本是未标注数据,且通常有 \(l \ll u\)

半监督学习的动机在于:虽然未标注数据不直接提供监督信号,但它们携带了关于数据分布 \(p(\mathbf{x})\) 的丰富信息。通过利用这些信息,模型可以学习到比仅用标注数据更准确的决策边界。例如,在图像分类任务中,如果未标注的图片与标注图片属于同一类别,模型可以利用它们来更好地估计每个类别的特征分布。

半监督学习的一个经典假设是聚类假设(cluster assumption):同一簇(cluster)中的数据点很可能属于同一个类别。基于这一假设,许多半监督学习方法通过对未标注数据施加一致性约束(consistency constraint)来利用无标签数据,例如自训练(self-training)、协同训练(co-training)和标签传播(label propagation)算法。

1.4 强化学习(Reinforcement Learning)

强化学习(RL)代表了另一种截然不同的学习范式。在强化学习中,智能体(agent)通过与环境(environment)进行交互来学习决策策略。与监督学习不同,强化学习不依赖于预先收集的输入-输出对作为训练数据,而是通过试错(trial and error)的方式,利用环境反馈的奖励(reward)信号来指导学习。

强化学习的基本框架可以用马尔可夫决策过程(Markov Decision Process, MDP)来形式化描述。一个 MDP 由五元组 \((\mathcal{S}, \mathcal{A}, P, R, \gamma)\) 定义,其中 \(\mathcal{S}\) 是状态空间,\(\mathcal{A}\) 是动作空间,\(P(s'|s,a)\) 是状态转移概率,\(R(s,a,s')\) 是奖励函数,\(\gamma \in [0,1]\) 是折扣因子。智能体的目标是学习一个策略 \(\pi(a|s)\),使得从初始状态开始的累计折扣奖励期望最大化:

\[ J(\pi) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty}\gamma^t R(s_t, a_t, s_{t+1})\right] \]

强化学习的核心挑战在于探索-利用权衡(exploration-exploitation trade-off):智能体需要在利用已知信息获取高奖励(exploitation)与尝试新的动作以发现更好的策略(exploration)之间找到平衡。著名的算法包括 Q 学习(Q-learning)、深度 Q 网络(DQN)、策略梯度方法(Policy Gradient)以及近端的策略优化(PPO)等。

强化学习与深度学习的结合——深度强化学习(Deep Reinforcement Learning)——近年来取得了里程碑式的成就,例如 AlphaGo 在围棋项目中击败人类世界冠军、AlphaStar 在《星际争霸 II》中达到大师级水平。这些成果充分展示了深度强化学习在处理高维状态空间和动作空间中的巨大潜力。


第二节 容量、偏差方差分解与过拟合欠拟合

理解模型复杂度、训练误差与泛化误差之间的关系,是机器学习理论的核心任务。本节引入容量(capacity)、偏差-方差分解(bias-variance decomposition)和过拟合/欠拟合(overfitting/underfitting)等核心概念,建立分析这一关系的理论框架。

2.1 容量与假设空间(Capacity and Hypothesis Space)

容量(capacity)是描述模型或函数族拟合各种函数能力的基本概念。从直观上说,容量衡量了模型族能够表示的函数集合的大小或复杂程度。容量越大,模型族能够描述的函数类型就越丰富;容量越小,模型族能够描述的函数类型就越有限。

在机器学习中,我们通常将学习算法限制在一个假设空间(hypothesis space) \(\mathcal{F}\) 中进行搜索。假设空间可以是线性函数空间、多项式函数空间、神经网络函数空间等。学习算法的任务是:从假设空间 \(\mathcal{F}\) 中选取一个函数 \(f \in \mathcal{F}\),使得在某种意义下(如最小化经验风险),\(f\) 最接近真实的数据生成函数 \(f^*\)

假设空间的选择直接影响算法的表现。如果假设空间太小(即容量过低),即使最优的函数也无法充分逼近真实函数,导致系统性的拟合误差——即欠拟合(underfitting);如果假设空间过大(容量过高),算法可能在有限的训练数据上找到很多不同的函数,其中一些仅仅是在训练数据上表现良好但泛化能力极差——即过拟合(overfitting)。因此,选择合适容量的假设空间是机器学习成功的关键之一。

2.2 偏差-方差分解(Bias-Variance Decomposition)

偏差-方差分解是分析模型泛化误差的重要理论工具。考虑回归问题,设真实的数据生成过程为 \(y = f^*(\mathbf{x}) + \epsilon\),其中噪声 \(\epsilon \sim \mathcal{N}(0, \sigma^2)\)。给定训练数据集 \(\mathcal{D}\),学习算法输出一个预测函数 \(\hat{f}_\mathcal{D}(\mathbf{x})\)。该预测函数的期望泛化误差可以分解为三个部分:

\[ \mathbb{E}_\mathcal{D}\left[(y - \hat{f}_\mathcal{D}(\mathbf{x}))^2\right] = \underbrace{\text{Bias}^2[\hat{f}(\mathbf{x})]}_{\text{偏差}^2} + \underbrace{\text{Var}[\hat{f}(\mathbf{x})]}_{\text{方差}} + \underbrace{\sigma^2}_{\text{噪声方差}} \]

其中,偏差(bias)衡量的是模型预测值的期望与真实值之间的差异:

\[ \text{Bias}[\hat{f}(\mathbf{x})] = \mathbb{E}_\mathcal{D}[\hat{f}_\mathcal{D}(\mathbf{x})] - f^*(\mathbf{x}) \]

方差(variance)衡量的是模型预测值在不同训练集上的变异程度:

\[ \text{Var}[\hat{f}(\mathbf{x})] = \mathbb{E}_\mathcal{D}\left[\left(\hat{f}_\mathcal{D}(\mathbf{x}) - \mathbb{E}_\mathcal{D}[\hat{f}_\mathcal{D}(\mathbf{x})]\right)^2\right] \]

噪声方差 \(\sigma^2\) 刻画了数据中不可约简的随机误差,即使最优模型也无法消除。

偏差-方差分解揭示了一个基本的矛盾关系:低偏差的模型通常具有高方差(过拟合),反之亦然。线性回归等简单模型偏差较高但方差较低;深层神经网络容量大、偏差低,但在有限数据上容易出现高方差(过拟合)。理想的模型需要在这两者之间找到恰当的平衡点,这正是机器学习中最核心的挑战之一。

2.3 过拟合与欠拟合(Overfitting and Underfitting)

欠拟合(underfitting)指模型在训练数据和测试数据上都表现不佳,通常是因为模型的容量不足以捕捉数据中的真实模式。欠拟合的典型特征是高偏差——模型的预测系统性地偏离真实值。解决欠拟合的方法包括:增加模型容量(例如在线性模型中加入高阶多项式特征、增大神经网络的层数或宽度)、减少正则化强度、延长训练时间等。

过拟合(overfitting)指模型在训练数据上表现很好,但在测试数据上性能显著下降,通常是因为模型容量过高或训练数据不足。过拟合的典型特征是高方差——模型对训练数据的微小变化过于敏感,决策边界在训练数据周围"振荡"。解决过拟合的方法包括:增加训练数据量、降低模型容量、在损失函数中加入正则化项(这是下一节的重点内容)、采用早停(early stopping)策略、引入 Dropout 等。

过拟合与欠拟合之间的权衡(bias-variance trade-off)是机器学习中永恒的主题。正则化技术正是为了在这一权衡中占据有利位置而发展起来的——通过在损失函数中加入反映模型复杂度的正则项,有意识地限制模型的容量,使其在训练数据之外也能有良好表现。


第三节 正则化技术:\(L_1\)\(L_2\) 与 Dropout

正则化(regularization)是防止过拟合、提高模型泛化能力的核心技术。其基本思想是在经验风险最小化的基础上,额外引入一个反映模型复杂度的正则项(regularizer),使优化目标从纯粹的训练误差变为训练误差与模型复杂度惩罚的加权和:

\[ \hat{f} = \arg\min_{f \in \mathcal{F}} \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(y^{(i)}, f(\mathbf{x}^{(i)})) + \lambda \cdot \Omega(f) \]

其中 \(\Omega(f)\) 是正则项,\(\lambda \geq 0\) 是控制正则化强度的超参数。\(\lambda\) 越大,对模型复杂度的惩罚越重,模型越倾向于欠拟合;\(\lambda\) 越小,模型越倾向于过拟合。

3.1 \(L_2\) 正则化(权重衰减)

\(L_2\) 正则化又称权重衰减(weight decay),是最广泛使用的正则化方法之一。它将正则项定义为模型参数的 \(L_2\) 范数:

\[ \Omega(f) = \|\mathbf{w}\|_2^2 = \sum_{j=1}^{M} w_j^2 \]

其中 \(\mathbf{w}\) 是模型的参数向量。因此,带 \(L_2\) 正则化的目标函数为:

\[ \hat{\mathbf{w}} = \arg\min_{\mathbf{w}} \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(y^{(i)}, f(\mathbf{x}^{(i)}; \mathbf{w})) + \frac{\lambda}{2}\|\mathbf{w}\|_2^2 \]

在梯度下降优化中,\(L_2\) 正则化项的梯度为 \(\lambda \mathbf{w}\),其效果相当于在每次参数更新时,将参数向量按比例衰减(乘以一个小于 1 的因子)。因此,\(L_2\) 正则化也被形象地称为"权重衰减"。

从贝叶斯推断的角度看,\(L_2\) 正则化对应于对参数施加高斯先验(Gaussian prior)。假设参数 \(\mathbf{w}\) 服从均值为 0、协方差矩阵为 \(\frac{1}{2\lambda}\mathbf{I}\) 的高斯先验,即 \(p(\mathbf{w}) = \mathcal{N}(\mathbf{0}, \frac{1}{2\lambda}\mathbf{I})\),则参数的后验估计最大化等价于最小化带 \(L_2\) 正则化的经验风险。这一联系将在本章第五节中详细讨论。

3.2 \(L_1\) 正则化(稀疏性)

\(L_1\) 正则化将正则项定义为参数的 \(L_1\) 范数:

\[ \Omega(f) = \|\mathbf{w}\|_1 = \sum_{j=1}^{M}|w_j| \]

\(L_1\) 正则化的优化目标为:

\[ \hat{\mathbf{w}} = \arg\min_{\mathbf{w}} \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(y^{(i)}, f(\mathbf{x}^{(i)}; \mathbf{w})) + \lambda \|\mathbf{w}\|_1 \]

\(L_2\) 正则化不同,\(L_1\) 正则化具有产生稀疏(sparse)解的特性——即许多参数会被优化为恰好等于零。这使得 \(L_1\) 正则化成为一种有效的特征选择(feature selection)方法。在高维数据(如文本分类中的词袋模型)中,\(L_1\) 正则化可以自动识别并消除不重要的特征,从而得到一个仅包含关键特征的精简模型。

从几何角度理解,\(L_1\) 正则化的稀疏性源于 \(L_1\) 范数球的棱角特性。在二维情况下,\(L_1\) 范数约束 \(\|\mathbf{w}\|_1 \leq c\) 形成的是一个旋转了 45 度的菱形(diamond),而 \(L_2\) 范数约束 \(\|\mathbf{w}\|_2 \leq c\) 形成的是一个圆形。当我们最小化经验风险并在参数空间中找到满足约束的解时,解往往落在菱形的顶点上——而顶点恰好对应于某个坐标轴上的稀疏向量。相比之下,\(L_2\) 约束的圆形表面是光滑的,解没有落在坐标轴上的倾向,因此参数不会恰好为零。

3.3 Dropout

Dropout是深度学习中广泛使用的正则化技术,由 Srivastava 等人于 2014 年提出。其核心思想极为简洁:在每次训练迭代中,以概率 \(p\)(通常取 \(0.5\))随机地将神经网络中的一些神经元置零(zero out),即将其激活值设为 0,并将其从当次前向传播和反向传播计算中移除。被 dropout 的神经元在本次迭代中不参与计算,其连接权重也不会更新。

形式化地说,对于神经网络中的每个神经元 \(z\),Dropout 以概率 \(p\) 将其输出 \(a\) 替换为 0:

\[ a' = \begin{cases} 0 & \text{with probability } p \\ \frac{a}{1-p} & \text{with probability } 1-p \end{cases} \]

其中 \(\frac{a}{1-p}\) 的缩放(inverted dropout)是为了在测试时不需要特殊的处理,保证训练和测试时的期望值一致。

Dropout 的效果可以从多个角度理解。从集成学习(ensemble learning)的角度看,每次 dropout 后的网络可以看作原网络的一个子网络,整个训练过程相当于同时训练了大量不同的子网络。在测试时,使用完整的网络(所有神经元参与)但将权重按 \((1-p)\) 缩放,相当于对所有子网络的预测结果进行平均。这与 bagging 的思想高度一致——Dropout 本质上是一种廉价的近似 bagging 策略。

从正则化的角度看,Dropout 防止了神经网络对特定神经元的过度依赖。由于每个神经元都有可能被随时移除,网络被迫学习在随机神经元缺失情况下依然有效的特征表示。这种"冗余备份"机制迫使网络的表示更加健壮,增强了对输入扰动的鲁棒性。


第四节 极大似然估计与贝叶斯推断

参数估计是机器学习的核心问题之一。给定一个概率模型 \(p(\mathbf{x} | \boldsymbol{\theta})\) 和观测数据 \(\mathcal{D} = \{\mathbf{x}^{(i)}\}_{i=1}^{N}\),我们如何从数据中学习模型参数 \(\boldsymbol{\theta}\)?本节介绍两种最重要的参数估计方法:极大似然估计(Maximum Likelihood Estimation, MLE)和最大后验估计(Maximum A Posteriori estimation, MAP),以及更一般的贝叶斯推断(Bayesian inference)框架。

4.1 极大似然估计(MLE)

极大似然估计的核心思想是:选择那些使观测数据出现概率("似然")最大的参数值。形式上,似然函数(likelihood function)定义为在参数 \(\boldsymbol{\theta}\) 下,观测数据 \(\mathcal{D}\) 的联合概率密度(或质量)函数:

\[ \mathcal{L}(\boldsymbol{\theta}; \mathcal{D}) = \prod_{i=1}^{N} p(\mathbf{x}^{(i)} | \boldsymbol{\theta}) \]

为了方便计算,通常对似然函数取对数(因为概率的乘积在数值上容易下溢),得到对数似然函数(log-likelihood):

\[ \ell(\boldsymbol{\theta}; \mathcal{D}) = \sum_{i=1}^{N} \log p(\mathbf{x}^{(i)} | \boldsymbol{\theta}) \]

极大似然估计为:

\[ \hat{\boldsymbol{\theta}}_{\text{MLE}} = \arg\max_{\boldsymbol{\theta}} \ell(\boldsymbol{\theta}; \mathcal{D}) \]

等价地,也可以写成最小化负对数似然(negative log-likelihood, NLL):

\[ \hat{\boldsymbol{\theta}}_{\text{MLE}} = \arg\min_{\boldsymbol{\theta}} -\ell(\boldsymbol{\theta}; \mathcal{D}) = \arg\min_{\boldsymbol{\theta}} \sum_{i=1}^{N} -\log p(\mathbf{x}^{(i)} | \boldsymbol{\theta}) \]

在监督学习中,若模型为 \(p(y | \mathbf{x}, \boldsymbol{\theta})\),则对数似然为 \(\sum_{i} \log p(y^{(i)} | \mathbf{x}^{(i)}, \boldsymbol{\theta})\),这正是交叉熵损失函数(cross-entropy loss)的形式。均方误差损失也可以从高斯假设下的 MLE 推导出来——假设 \(p(y | \mathbf{x}, \boldsymbol{\theta}) = \mathcal{N}(f(\mathbf{x}; \boldsymbol{\theta}), \sigma^2)\),则负对数似然恰好正比于 MSE:

\[ -\log p(y | \mathbf{x}, \boldsymbol{\theta}) = \frac{1}{2\sigma^2}(y - f(\mathbf{x}; \boldsymbol{\theta}))^2 + \text{const} \]

MLE 具有良好的理论性质:在一定的正则条件下,MLE 是一致的(consistent)——当训练数据量趋于无穷时,估计值收玫于真实参数值;同时是渐近正态的(asymptotically normal)——估计量的分布以真实参数为均值、以 Fisher 信息矩阵的逆为方差渐近于正态分布。

4.2 最大后验估计(MAP)

MLE 只关注数据的证据(evidence),不引入任何关于参数的先验知识。最大后验估计(MAP)则在贝叶斯框架下,将参数也视为随机变量,并为其引入先验分布 \(p(\boldsymbol{\theta})\)。根据贝叶斯规则,参数的后验分布(posterior)为:

\[ p(\boldsymbol{\theta} | \mathcal{D}) = \frac{p(\mathcal{D} | \boldsymbol{\theta}) p(\boldsymbol{\theta})}{p(\mathcal{D})} = \frac{\left(\prod_{i=1}^{N} p(\mathbf{x}^{(i)} | \boldsymbol{\theta})\right) p(\boldsymbol{\theta})}{p(\mathcal{D})} \]

MAP 估计选择后验概率最大的参数值:

\[ \hat{\boldsymbol{\theta}}_{\text{MAP}} = \arg\max_{\boldsymbol{\theta}} p(\boldsymbol{\theta} | \mathcal{D}) = \arg\max_{\boldsymbol{\theta}} \left[\prod_{i=1}^{N} p(\mathbf{x}^{(i)} | \boldsymbol{\theta})\right] p(\boldsymbol{\theta}) \]

取对数后:

\[ \hat{\boldsymbol{\theta}}_{\text{MAP}} = \arg\min_{\boldsymbol{\theta}} \left[ -\sum_{i=1}^{N} \log p(\mathbf{x}^{(i)} | \boldsymbol{\theta}) - \log p(\boldsymbol{\theta}) \right] \]

从这一表达式可以看出,MAP 估计在 MLE 的基础上增加了一项 \(-\log p(\boldsymbol{\theta})\),即对参数的额外惩罚——这正是正则化项的来源。如果我们假设参数服从高斯先验 \(p(\boldsymbol{\theta}) = \mathcal{N}(\mathbf{0}, \frac{1}{2\lambda}\mathbf{I})\),则 \(-\log p(\boldsymbol{\theta}) \propto \lambda \|\boldsymbol{\theta}\|_2^2\),这正是 \(L_2\) 正则化;如果假设参数服从拉普拉斯先验 \(p(\boldsymbol{\theta}) \propto \exp(-\lambda \|\boldsymbol{\theta}\|_1)\),则对应 \(L_1\) 正则化。

值得注意的是,MAP 估计仍然给出的是参数的点估计,而非完整的后验分布。当数据量趋于无穷时,MAP 估计收玫于真实参数值(与 MLE 相同),但在小样本情况下,先验分布的影响不可忽视。

4.3 贝叶斯推断(Bayesian Inference)

MAP 只返回一个点估计,而完全贝叶斯推断(full Bayesian inference)则保留并利用完整的后验分布 \(p(\boldsymbol{\theta} | \mathcal{D})\)。在预测新样本时,我们不再使用单一的参数值 \(\hat{\boldsymbol{\theta}}\),而是对所有可能的参数值进行积分加权:

\[ p(y^* | \mathbf{x}^*, \mathcal{D}) = \int p(y^* | \mathbf{x}^*, \boldsymbol{\theta}) \, p(\boldsymbol{\theta} | \mathcal{D}) \, d\boldsymbol{\theta} \]

这种贝叶斯预测(Bayesian prediction)天然地具有正则化效果——它对参数的不确定性进行了适当的量化,当数据稀少时,预测会更多地向先验靠拢;当数据充足时,后验分布变得尖锐,预测收玫于 MLE/MAP 的结果。

然而,完全贝叶斯推断在计算上通常极为困难——后验分布的计算和上述积分往往没有解析解。高维参数空间使得精确推断不可行,因此实践中需要借助近似推断方法,如变分推断(variational inference)马尔可夫链蒙特卡洛(MCMC)方法。这些近似方法构成了现代贝叶斯深度学习的核心技术。


第五节 无监督学习算法:\(k\)-均值、PCA 与 ICA

无监督学习旨在从无标签数据中发现隐藏的结构和规律。本节详细介绍三种最具代表性的无监督学习算法:\(k\)-均值聚类(\(k\)-means clustering)、主成分分析(Principal Component Analysis, PCA)和独立成分分析(Independent Component Analysis, ICA)。

5.1 \(k\)-均值聚类(\(k\)-Means Clustering)

聚类的目标是将数据集划分为若干个簇(cluster),使得同一簇内的数据点彼此相似,而不同簇之间的数据点差异显著。\(k\)-均值是最经典、最广泛使用的聚类算法之一。

给定数据集 \(\mathcal{D} = \{\mathbf{x}^{(i)}\}_{i=1}^{N}\) 和预先指定的簇数 \(k\)\(k\)-均值的优化目标是最小化簇内平方和(within-cluster sum of squares, WCSS)

\[ \min_{\{\mathbf{c}_j\}, \{r_j^{(i)}\}} \sum_{j=1}^{k} \sum_{i=1}^{N} r_j^{(i)} \|\mathbf{x}^{(i)} - \mathbf{c}_j\|_2^2 \]

其中 \(\mathbf{c}_j\) 是第 \(j\) 个簇的中心(centroid),\(r_j^{(i)} \in \{0,1\}\) 是指示变量,\(r_j^{(i)} = 1\) 表示样本 \(i\) 属于簇 \(j\)(每个样本只能属于一个簇)。

\(k\)-均值算法采用交替优化(alternating optimization)的策略,迭代执行以下两步直到收敛:

E 步(求期望):固定簇中心 \(\mathbf{c}_j\),为每个样本分配最近的簇: $$ r_j^{(i)} = \begin{cases} 1 & \text{if } j = \arg\min_{j'} |\mathbf{x}^{(i)} - \mathbf{c}_{j'}|_2^2 \ 0 & \text{otherwise} \end{cases} $$

M 步(最大化):固定分配指示 \(r_j^{(i)}\),更新簇中心为该簇所有样本的均值: $$ \mathbf{c}j = \frac{\sum $$} r_j^{(i)} \mathbf{x}^{(i)}}{\sum_{i} r_j^{(i)}

由于每一步都降低目标函数值,\(k\)-均值保证收玫到局部最优解,但不能保证找到全局最优解。\(k\)-均值的结果对初始簇中心的选择敏感,实践中通常采用多次随机初始化并选择目标函数值最低的结果。

\(k\)-均值的一个显著局限性在于它对 \(k\) 值的选择非常敏感——\(k\) 需要预先指定,且 \(k\)-均值只能发现数据中球形(spherical)的簇结构,对于非球形或嵌套的簇无能为力。此外,\(k\)-均值是一种硬聚类(hard clustering)方法,每个样本必须归属某一个簇,而不允许属于多个簇的概率性描述。

5.2 主成分分析(PCA)

主成分分析(PCA)是最重要的降维算法之一,其目标是通过线性变换将高维数据投影到低维空间,同时最大化保留原始数据的方差信息。

设数据矩阵为 \(\mathbf{X} \in \mathbb{R}^{N \times D}\)\(N\) 个样本,\(D\) 维特征),假设我们已经对数据做了中心化处理(减去均值),即 \(\sum_{i=1}^{N}\mathbf{x}^{(i)} = \mathbf{0}\)。PCA 寻找一组正交的单位向量 \(\{\mathbf{w}_j\}_{j=1}^{D}\)(称为主轴,principal axes),使得数据在这组向量上的投影的方差最大化。

第一个主成分 \(\mathbf{w}_1\) 的求解为: $$ \mathbf{w}1 = \arg\max|_2^2 $$}|=1} \sum_{i=1}^{N} (\mathbf{x}^{(i)\top} \mathbf{w})^2 = \arg\max_{|\mathbf{w}|=1} |\mathbf{X}\mathbf{w

由于数据已中心化,投影的方差恰好等于 \(\|\mathbf{X}\mathbf{w}\|_2^2 / N\)。后续的主成分需要在与前面所有主成分正交的约束下依次求解。

从矩阵分解的角度看,PCA 与数据的奇异值分解(SVD)密切相关。设数据矩阵 \(\mathbf{X}\) 的 SVD 为 \(\mathbf{X} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^\top\),则 \(\mathbf{V}\) 的列向量就是 PCA 的主成分方向,\(\mathbf{\Sigma}\) 的对角元素是奇异值(与方差的平方根成正比)。

PCA 的降维效果通过保留前 \(k\) 个主成分来实现。投影后的低维表示为 \(\mathbf{z}^{(i)} = \mathbf{V}_k^\top \mathbf{x}^{(i)}\),其中 \(\mathbf{V}_k\) 包含前 \(k\) 个主成分向量。降维后的重构数据为 \(\hat{\mathbf{x}}^{(i)} = \mathbf{V}_k \mathbf{z}^{(i)}\),重构误差(mean squared error)为:

\[ \text{MSE}_{\text{reconstruct}} = \frac{1}{N}\sum_{i=1}^{N}\|\mathbf{x}^{(i)} - \hat{\mathbf{x}}^{(i)}\|_2^2 = \frac{1}{N}\sum_{j=k+1}^{D} \sigma_j^2 \]

其中 \(\sigma_j\) 是第 \(j\) 个奇异值。这意味着 PCA 的重构误差恰好等于被丢弃的奇异值的平方和——这是 PCA 最小化重构误差这一事实的直接体现。

5.3 独立成分分析(ICA)

独立成分分析(ICA)是另一种重要的无监督学习方法,主要用于盲源分离(blind source separation, BSS)问题。其经典应用场景是"鸡尾酒会问题":在嘈杂的宴会中,有多个人同时说话,录音设备同时记录了多个麦克风的混合信号,ICA 的目标是分离出每个独立说话者的声音。

ICA 的数学模型假设:观测到的 \(D\) 维数据 \(\mathbf{x}\) 是由 \(K\)独立的隐变量(independent sources) \(\mathbf{s}\) 经过一个未知的线性混合矩阵 \(\mathbf{A}\) 产生的:

\[ \mathbf{x} = \mathbf{A}\mathbf{s} \]

其中 \(\mathbf{s} = (s_1, \ldots, s_K)^\top\) 的各分量 \(s_j\) 统计独立。ICA 的目标是仅从观测数据 \(\mathbf{x}\) 中恢复出原始的独立源信号 \(\mathbf{s}\)(在不知道 \(\mathbf{A}\) 的情况下),即找到一个解混矩阵 \(\mathbf{W} \approx \mathbf{A}^{-1}\),使得 \(\mathbf{y} = \mathbf{W}\mathbf{x}\) 的各分量尽可能独立。

与 PCA 关注方差(协方差矩阵)不同,ICA 试图捕获数据的高阶统计结构——独立性(independence)。如果 \(s_j\) 之间相互独立,则对于任意非线性的函数 \(\phi\)\(\psi\),都有 \(\mathbb{E}[\phi(s_i)\psi(s_j)] = \mathbb{E}[\phi(s_i)]\mathbb{E}[\psi(s_j)]\)(当 \(i \neq j\) 时)。这一性质被 ICA 的目标函数所利用。

ICA 的一个关键假设是:源信号必须是非高斯的(non-Gaussian)。这可以从信息论的角度理解:如果源信号是高斯的,那么经过任何线性混合后,观测数据的协方差矩阵已经包含了所有可用信息,而更高阶的统计量(skewness、kurtosis 等)对高斯变量始终为零,因此无法恢复原始独立源。这一结论与中心极限定理密切相关——两个独立随机变量的和比任何一个原始变量都更接近高斯分布。

常用的 ICA 算法包括 FastICA(基于负熵最大化)和信息最大化 ICA(Infomax ICA)等。ICA 广泛应用于信号处理(语音分离、生物医学信号分解)、图像处理(去除伪影)和金融(因子分析)等领域。


第六节 泛化理论与 VC 维度

机器学习的终极目标是使模型在未见过的数据(unseen data)上表现良好,即具有良好的泛化能力(generalization ability)。本节从理论角度探讨什么是泛化、泛化误差的来源以及如何理论上衡量模型的泛化能力。

6.1 泛化与泛化误差(Generalization and Generalization Error)

给定训练数据集 \(\mathcal{D}_{\text{train}}\) 和测试数据集 \(\mathcal{D}_{\text{test}}\)(假设两者均从同一数据分布 \(p_{\text{data}}\) 中独立同分布地采样),模型 \(f\)泛化误差(generalization error)定义为:

\[ \epsilon_{\text{gen}}(f) = \mathbb{E}_{(\mathbf{x},y) \sim p_{\text{data}}}[\mathcal{L}(y, f(\mathbf{x}))] \]

即模型在整个数据分布上的期望损失。注意泛化误差与训练误差(training error)不同:训练误差是模型在训练集上的平均损失,它是可以直接计算的(从而进行优化),但它通常低估了真实的泛化误差。

泛化误差的分解可以从偏差-方差角度理解(如上节所述),也可以从过拟合-欠拟合的角度理解。一个具有良好泛化能力的模型,其训练误差和泛化误差都处于较低水平,且两者之间的差距(有时称为泛化gap)较小。

6.2 VC 维度(Vapnik-Chervonenkis Dimension)

VC 维度是统计学习理论中最核心的概念之一,由 Vladimir Vapnik 和 Alexey Chervonenkis 于 1971 年提出。它提供了衡量假设空间(hypothesis space)复杂度的一种度量,为有限样本情形下的泛化误差界提供了理论基础。

VC 维度的定义涉及一个关键概念—— shatter(打散)。对于一个假设空间 \(\mathcal{F}\),如果存在一个包含 \(m\) 个点的集合 \(S = \{\mathbf{x}^{(1)}, \ldots, \mathbf{x}^{(m)}\}\),使得 \(\mathcal{F}\) 能够在 \(S\) 上实现所有可能的 \(2^m\) 种标签分配(即对于 \(S\) 的任意子集 \(S' \subset S\),都存在 \(f \in \mathcal{F}\) 使得 \(f(\mathbf{x}) = 1\) 当且仅当 \(\mathbf{x} \in S'\)),则称集合 \(S\) 能被 \(\mathcal{F}\) 打散(shattered)。VC 维度就是指能够被 \(\mathcal{F}\) 打散的最大集合的大小:

\[ \text{VC}(\mathcal{F}) = \max\{m : \exists S \subset \mathcal{X}, |S| = m, S \text{ can be shattered by } \mathcal{F}\} \]

如果对任意大小的集合都能被打散,则 VC 维度为无穷大。VC 维度越大,说明假设空间越复杂,能够拟合的函数种类越多。

VC 维度的重要意义在于它与泛化误差的理论界紧密相关。根据 VC 理论,对于任意假设空间 \(\mathcal{F}\),以至少 \(1-\delta\) 的概率(其中 \(\delta \in (0,1)\)),任意假设 \(f \in \mathcal{F}\) 的泛化误差满足:

\[ \epsilon_{\text{gen}}(f) \leq \hat{\epsilon}_{\text{train}}(f) + O\left(\sqrt{\frac{\text{VC}(\mathcal{F}) \cdot \log\left(\frac{N}{\text{VC}(\mathcal{F})}\right) + \log\left(\frac{1}{\delta}\right)}{N}}\right) \]

其中 \(N\) 是训练样本数量。这一不等式表明:模型的泛化误差由两部分构成——训练误差和与 VC 维度相关的复杂度惩罚项。这正是奥卡姆剃刀(Occam's razor)原理的量化表达——在能够解释观测数据的多个假设中,应选择最简单的那一个。

对于线性分类器,VC 维度等于特征空间的维度加 1(即 \(\text{VC}(\mathcal{F}) = D + 1\),其中 \(D\) 是特征向量的维度)。对于 \(k\)-层神经网络,VC 维度大致与网络中可调参数的数目成正比(尽管在某些条件下可能更大)。然而,对于深度神经网络,VC 维度的理论界往往过于宽松——实践中深层网络的泛化能力远比 VC 维度理论预测的要好,这也是当前深度学习理论研究的活跃前沿。

6.3 泛化与正则化的关系

VC 维度的理论界提示我们:即使训练误差已经很低,泛化误差仍然可能很大,因为复杂度惩罚项与假设空间的 VC 维度成正比。正则化正是通过降低有效 VC 维度(或假设空间的有效复杂度)来改善泛化能力的。

例如,\(L_2\) 正则化限制了权重向量的范数,从而限制了模型能够表达的函数类型(相当于在权重空间中划定了一个有界区域);\(L_1\) 正则化通过产生稀疏解,等价于从 \(D\) 个原始特征中选择出一个子集,有效降低了模型的自由度;Dropout 通过随机失活神经元,使得每次训练迭代中的有效网络结构都不相同,从而降低了单一模型对训练数据的拟合能力。


第七节 超参数与实践考量

在实际的机器学习项目中,除了模型参数之外,还有一类控制模型行为和训练过程的超参数(hyperparameters)需要设置。超参数的取值对模型的最终性能有着至关重要的影响,但其最优值通常无法通过训练过程自动确定,需要通过额外的搜索过程来选择。

7.1 超参数的类型与影响

机器学习中的超参数可以分为以下几类:

模型容量相关超参数:控制模型本身的规模和表达能力。例如,神经网络的层数和每层的神经元个数(\(L_1, L_2, \ldots, L_N\));多项式回归中多项式的阶数;\(k\)-均值中的簇数 \(k\);支持向量机中的核函数类型和参数(如 RBF 核的 \(\gamma\))。

正则化超参数:控制正则化强度。例如,\(L_2\) 正则化系数 \(\lambda\)、Dropout 概率 \(p\)、早停的耐心值(patience)等。这些超参数直接决定了模型在欠拟合与过拟合之间的权衡位置。

优化相关超参数:控制训练过程的行为。例如,学习率(learning rate)\(\eta\)、批量大小(batch size)、动量(momentum)参数 \(\beta\)、学习率衰减策略等。

数据预处理相关超参数:例如 PCA 降维后的保留维度 \(k\)、数据标准化/归一化的参数范围等。

7.2 超参数搜索策略

由于超参数空间通常是高维的且可能包含连续变量和离散变量,不可能通过穷举来找到全局最优解。实践中常用的超参数搜索策略包括:

网格搜索(Grid Search):将超参数空间划分为网格,对每个网格点进行评估,选择性能最优的配置。网格搜索的优点是简单、易于并行化,缺点是当超参数维度较高或取值范围较大时,搜索点数量呈指数增长("维度灾难")。

随机搜索(Random Search):从超参数空间中随机采样若干配置进行评估。经验研究表明,当某些超参数对性能的影响远大于其他超参数时,随机搜索往往比网格搜索更高效,因为它不需要在不重要维度上进行密集采样。

贝叶斯优化(Bayesian Optimization):一种基于贝叶斯推断的自适应搜索策略。它建立一个代理模型(通常是高斯过程或树结构的贝叶斯模型)来近似超参数与验证集性能之间的关系,然后根据某种采集函数(acquisition function,如 Expected Improvement)选择下一个最有希望的超参数配置进行评估。贝叶斯优化在超参数评估成本较高(如每次评估需要训练一个完整的深度网络)的场景中尤为有效。

渐进式搜索(Successive Halving、Hyperband):这些方法从大量随机配置开始,通过渐进式淘汰和资源再分配,将更多的计算资源集中在有希望的配置上,特别适合在有限计算预算下进行超参数搜索。

7.3 验证集与交叉验证

超参数搜索需要一个独立的验证集(validation set)来评估不同超参数配置的性能。关键在于:验证集必须与训练集独立同分布,且不能与测试集混用。通常的做法是从原始数据中划分出 \(70\%\) 作为训练集、\(15\%\) 作为验证集、\(15\%\) 作为测试集。

当数据量有限时,交叉验证(cross-validation)是一种更充分利用数据的评估方法。最常用的是 \(k\)-折交叉验证(\(k\)-fold cross-validation):将数据划分为 \(k\) 个大小相等的子集,每次选择其中一个子集作为验证集,其余 \(k-1\) 个子集合并作为训练集,进行 \(k\) 次训练和评估,最终取 \(k\) 次评估结果的平均值作为模型性能的估计。\(k\) 的常用取值为 5 或 10。

值得注意的是,在深度学习中,当模型参数规模很大、训练成本很高时,完整的交叉验证往往过于昂贵。因此,实践中更常见的是使用固定的验证集和反复迭代调优的策略。

7.4 超出合理范围的注意事项

超参数的选择需要领域知识和经验相结合。以下是一些实践中的注意事项:学习率是最关键的超参数之一,过大的学习率会导致训练发散,过小的学习率会导致收敛缓慢;批量大小影响梯度估计的噪声水平和 GPU 利用率,较大的批量通常能更稳定地利用硬件并行性;正则化超参数需要与模型容量相匹配——更复杂的模型通常需要更强的正则化;某些超参数之间存在交互效应(如学习率与批量大小、权重衰减系数与学习率之间存在隐式联系),在进行网格搜索时应考虑将相关超参数一起搜索,而非独立进行。


附录:重要公式汇总表

编号 公式名称 公式表达
(5.1) 均方误差损失 \(\mathcal{L}_{\text{MSE}}(y, f(\mathbf{x})) = (y - f(\mathbf{x}))^2\)
(5.2) 对数损失 \(\mathcal{L}_{\log}(y, f(\mathbf{x})) = -[y \log f(\mathbf{x}) + (1-y)\log(1-f(\mathbf{x}))]\)
(5.3) 经验风险 \(\hat{R}(f) = \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(y^{(i)}, f(\mathbf{x}^{(i)}))\)
(5.4) 偏差-方差分解 \(\mathbb{E}_\mathcal{D}[(y - \hat{f}_\mathcal{D}(\mathbf{x}))^2] = \text{Bias}^2 + \text{Var} + \sigma^2\)
(5.5) 偏差定义 \(\text{Bias}[\hat{f}(\mathbf{x})] = \mathbb{E}_\mathcal{D}[\hat{f}_\mathcal{D}(\mathbf{x})] - f^*(\mathbf{x})\)
(5.6) 方差定义 \(\text{Var}[\hat{f}(\mathbf{x})] = \mathbb{E}_\mathcal{D}[(\hat{f}_\mathcal{D}(\mathbf{x}) - \mathbb{E}_\mathcal{D}[\hat{f}_\mathcal{D}(\mathbf{x})])^2]\)
(5.7) 正则化目标 \(\hat{f} = \arg\min_{f \in \mathcal{F}} \frac{1}{N}\sum_{i=1}^{N}\mathcal{L}(y^{(i)}, f(\mathbf{x}^{(i)})) + \lambda \cdot \Omega(f)\)
(5.8) \(L_2\) 正则化 \(\Omega(f) = \|\mathbf{w}\|_2^2 = \sum_{j=1}^{M} w_j^2\)
(5.9) \(L_1\) 正则化 $\Omega(f) = |\mathbf{w}|1 = \sum}^{M
(5.10) Dropout 激活 \(a' = \begin{cases}0 & \text{w.p. } p \\ \frac{a}{1-p} & \text{w.p. } 1-p\end{cases}\)
(5.11) 对数似然函数 \(\ell(\boldsymbol{\theta}; \mathcal{D}) = \sum_{i=1}^{N} \log p(\mathbf{x}^{(i)} \| \boldsymbol{\theta})\)
(5.12) 贝叶斯后验 \(p(\boldsymbol{\theta} \| \mathcal{D}) = \frac{\left(\prod_{i=1}^{N} p(\mathbf{x}^{(i)} \| \boldsymbol{\theta})\right) p(\boldsymbol{\theta})}{p(\mathcal{D})}\)
(5.13) \(k\)-均值目标 \(\min_{\{\mathbf{c}_j\}, \{r_j^{(i)}\}} \sum_{j=1}^{k} \sum_{i=1}^{N} r_j^{(i)} \|\mathbf{x}^{(i)} - \mathbf{c}_j\|_2^2\)
(5.14) PCA 第一主成分 \(\mathbf{w}_1 = \arg\max_{\|\mathbf{w}\|=1} \sum_{i=1}^{N} (\mathbf{x}^{(i)\top} \mathbf{w})^2\)
(5.15) PCA 重构误差 \(\text{MSE}_{\text{reconstruct}} = \frac{1}{N}\sum_{i=1}^{N}\|\mathbf{x}^{(i)} - \hat{\mathbf{x}}^{(i)}\|_2^2 = \frac{1}{N}\sum_{j=k+1}^{D} \sigma_j^2\)
(5.16) ICA 模型 \(\mathbf{x} = \mathbf{A}\mathbf{s}\)
(5.17) VC 维度泛化界 \(\epsilon_{\text{gen}}(f) \leq \hat{\epsilon}_{\text{train}}(f) + O\left(\sqrt{\frac{\text{VC}(\mathcal{F}) \cdot \log\left(\frac{N}{\text{VC}(\mathcal{F})}\right) + \log\left(\frac{1}{\delta}\right)}{N}}\right)\)

本章小结

本章系统地介绍了机器学习的基础理论与核心算法,为深度学习提供了必要的背景知识。我们首先从学习范式的角度,将机器学习划分为监督学习、无监督学习、半监督学习和强化学习四大类别,理解了它们各自的问题设定、典型应用场景和核心挑战。随后,通过容量、假设空间、偏差-方差分解等理论工具,深入分析了过拟合与欠拟合的本质成因和解决思路。正则化技术——包括 \(L_1\)\(L_2\) 正则化和 Dropout——作为控制模型复杂度、提高泛化能力的核心手段,被详细讨论。参数估计部分则建立了 MLE 与 MAP 的统一框架,并引入了完全贝叶斯推断的完整思想。在无监督学习中,\(k\)-均值、PCA 和 ICA 分别从聚类、降维和盲源分离的角度展示了如何从无标签数据中提取有价值的信息。最后,泛化理论和 VC 维度的讨论为理解模型复杂度与泛化能力之间的关系提供了理论视角,而超参数搜索的实践问题则将理论联系实际。

这些内容共同构成了理解深度学习的理论基础。后续章节将在此基础上,逐步深入深度网络的设计、优化策略和高级架构,最终揭示深度学习的强大能力从何而来。