跳转至

第二十二章:无监督学习方法总结

22.1 章节概述

本书的最后章节对无监督学习方法进行了系统性的回顾与总结。无监督学习是机器学习三大范式之一(另外两种分别是监督学习和强化学习),其核心特征是学习过程中不使用标签信息。与监督学习关注"如何预测正确答案"不同,无监督学习关注的是"如何发现数据内部隐藏的结构和规律"。

无监督学习的重要性在当今大数据时代愈发凸显。在海量的未标注数据面前,为所有数据添加标签往往需要耗费大量的人力物力,这使得无监督方法成为处理海量数据的主要手段。同时,无监督学习能够帮助我们发现数据中人类未曾预见的模式和关联,从而为科学研究和商业决策提供新的视角。

本章将从三个维度对无监督学习方法进行分类和总结:降维方法、聚类方法和概率模型方法。我们将看到,这三类方法虽然出发点不同,但它们之间存在着深刻的内在联系——许多方法可以统一在矩阵分解或概率生成的框架下理解。通过这种系统性的梳理,读者将对无监督学习有一个完整而深入的认识。

22.2 关键问题与研究动机

无监督学习面临的核心问题是:如何在没有标签的情况下,从高维、复杂、带有噪声的数据中提取出有意义的低维结构或分组?这一问题可以进一步分解为几个子问题。

降维问题。 现实世界的数据往往具有很高的维度,例如一张1000×1000的图像可以看作一个百万维的向量。高维数据不仅给存储和计算带来挑战,更严重的是"维度灾难"问题——在高维空间中,数据的稀疏性使得基于距离的分析方法失效。降维方法的目标是将数据从高维空间映射到低维空间,同时尽可能保留原始数据中的重要信息(如方差、结构或距离关系)。

聚类问题。 聚类旨在将相似的样本归为同一组(簇),使同一簇内的样本彼此相似,不同簇的样本彼此不同。与分类不同,聚类事先不知道簇的个数和每个簇的标签,需要算法自动发现数据的分组结构。聚类问题的挑战在于:如何定义"相似性"?如何确定簇的个数?如何处理不同密度、形状和大小的簇?

概率模型问题。 概率模型方法将数据视为由某个隐变量控制的生成过程,通过学习隐变量的分布来理解数据的生成机制。这类方法的优势在于:它们提供了对数据的可解释性描述,并且能够自然地处理不确定性。概率模型的挑战在于:如何设计合适的隐变量结构?如何进行高效的推断和学习?

22.3 主要公式与推导

22.3.1 降维方法

降维方法的核心是将高维数据 \(\mathbf{x}_i \in \mathbb{R}^D\) 映射到低维表示 \(\mathbf{z}_i \in \mathbb{R}^d\)(其中 \(d \ll D\))。

主成分分析(PCA)。 PCA寻找使投影后方差最大的正交方向。设 \(\mathbf{X}\) 为中心化后的数据矩阵,PCA通过求解协方差矩阵的特征值分解:

\[\mathbf{X}^T \mathbf{X} = \mathbf{V} \boldsymbol{\Lambda} \mathbf{V}^T\]

其中 \(\mathbf{V}\) 的列是特征向量,\(\boldsymbol{\Lambda}\) 的对角元素是特征值。投影后的表示为 \(\mathbf{Z} = \mathbf{X} \mathbf{V}_d\),其中 \(\mathbf{V}_d\) 是前 \(d\) 个特征向量构成的矩阵。PCA的重构误差为:

\[\|\mathbf{X} - \mathbf{Z} \mathbf{V}_d^T\|_F^2 = \sum_{j=d+1}^{D} \lambda_j\]

即被丢弃的特征值之和。

奇异值分解(SVD)。 对于任意矩阵 \(\mathbf{X} \in \mathbb{R}^{n \times D}\),其SVD为:

\[\mathbf{X} = \mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^T\]

其中 \(\mathbf{U} \in \mathbb{R}^{n \times n}\)\(\mathbf{V} \in \mathbb{R}^{D \times D}\) 是正交矩阵,\(\boldsymbol{\Sigma} \in \mathbb{R}^{n \times D}\) 是对角矩阵,对角元素是奇异值。截断SVD保留前 \(d\) 个奇异值,得到最优低秩近似:

\[\hat{\mathbf{X}} = \mathbf{U}_d \boldsymbol{\Sigma}_d \mathbf{V}_d^T\]

PCA与SVD的关系:PCA的右奇异向量 \(\mathbf{V}_d\) 就是协方差矩阵 \(\mathbf{X}^T\mathbf{X}\) 的特征向量,PCA的投影矩阵就是SVD的右奇异向量矩阵。

核主成分分析(KPCA)。 KPCA通过核函数将数据映射到高维特征空间后再进行PCA。设核函数为 \(k(\mathbf{x}_i, \mathbf{x}_j)\),对应的核矩阵为 \(\mathbf{K}\)。KPCA求解核矩阵的特征值分解:

\[\mathbf{K} \boldsymbol{\alpha} = \lambda \boldsymbol{\alpha}\]

投影系数为 \(\mathbf{z}_i = \sum_{j=1}^{n} \alpha_j k(\mathbf{x}_j, \mathbf{x}_i)\)

潜在语义分析(LSA)。 LSA对词-文档共现矩阵 \(\mathbf{X}\) 进行截断SVD分解:

\[\mathbf{X} \approx \mathbf{U}_k \boldsymbol{\Sigma}_k \mathbf{V}_k^T\]

其中 \(k\) 是保留的主题数。LSA的语义解释是:\(\mathbf{U}_k \boldsymbol{\Sigma}_k\) 给出了文档在 \(k\) 维潜在语义空间中的表示,\(\mathbf{V}_k^T\) 给出了词在 \(k\) 维潜在语义空间中的表示。

22.3.2 聚类方法

k-means算法。 k-means的目标是最小化簇内平方和(WCSS):

\[\min_{\boldsymbol{\mu}, \mathbf{r}} \sum_{i=1}^{n} \sum_{k=1}^{K} r_{ik} \|\mathbf{x}_i - \boldsymbol{\mu}_k\|^2\]

其中 \(r_{ik} \in \{0,1\}\) 表示样本 \(i\) 是否属于簇 \(k\)\(\boldsymbol{\mu}_k\) 是簇 \(k\) 的中心。交替优化E步(分配样本到最近中心)和M步(更新簇中心)。

层次聚类。 层次聚类构建一个嵌套的簇层次结构。聚合式层次聚类的关键是如何定义类间距离:

连接方法 类间距离定义
最短连接(Single) \(\min_{i \in C_a, j \in C_b} d_{ij}\)
最长连接(Complete) \(\max_{i \in C_a, j \in C_b} d_{ij}\)
平均连接(Average) $\frac{1}{
Ward方法 $\frac{

DBSCAN。 DBSCAN基于密度进行聚类。核心概念包括:\(\varepsilon\)-邻域 \(N_\varepsilon(\mathbf{x}) = \{\mathbf{x}' : d(\mathbf{x}, \mathbf{x}') \leq \varepsilon\}\),核心点(邻域内至少有 \(MinPts\) 个点),密度可达,密度连通。优点是能够发现任意形状的簇并自动检测噪声点。

轮廓系数。 轮廓系数衡量聚类质量:

\[s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}}\]

其中 \(a(i)\) 是样本 \(i\) 到同簇其他样本的平均距离,\(b(i)\) 是样本 \(i\) 到最近邻簇的平均距离。\(s(i) \in [-1, 1]\),越接近 1 表示聚类质量越好。

22.3.3 概率模型方法

高斯混合模型(GMM)。 GMM是多个高斯分布的加权混合:

\[p(\mathbf{x}) = \sum_{k=1}^{K} \pi_k \mathcal{N}(\mathbf{x} | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)\]

其中 \(\pi_k\) 是混合系数,\(\mathcal{N}\) 是高斯分布。参数通过EM算法估计。

概率潜在语义分析(pLSA)。 pLSA的生成模型是:先从文档分布中抽取文档 \(d\),再从文档特定的topic分布中抽取主题 \(z\),最后从主题特定的词分布中抽取词 \(w\)。联合概率为:

\[p(d, w) = p(d) \sum_z p(z|d) p(w|z)\]

潜在狄利克雷分配(LDA)。 LDA是pLSA的贝叶斯扩展,引入Dirichlet先验:

\[p(\boldsymbol{\theta}_d | \boldsymbol{\alpha}) = \frac{\Gamma(\sum_k \alpha_k)}{\prod_k \Gamma(\alpha_k)} \prod_{k=1}^{K} \theta_{dk}^{\alpha_k - 1}\]
\[p(\boldsymbol{\varphi}_k | \boldsymbol{\beta}) = \frac{\Gamma(\sum_w \beta_w)}{\prod_w \Gamma(\beta_w)} \prod_{w=1}^{W} \varphi_{kw}^{\beta_w - 1}\]

LDA的生成过程:对于每个文档 \(d\),从 \(\text{Dir}(\boldsymbol{\alpha})\) 抽取 \(\boldsymbol{\theta}_d\);对于文档中的每个词 \(w_{di}\),从 \(\text{Multinomial}(\boldsymbol{\theta}_d)\) 抽取主题 \(z_{di}\),再从 \(\text{Multinomial}(\boldsymbol{\varphi}_{z_{di}})\) 抽取词 \(w_{di}\)

22.4 方法对比与统一框架

22.4.1 降维方法对比

方法 线性/非线性 目标函数 计算复杂度 适用场景
PCA 线性 方差最大化 \(O(nD^2)\)\(O(D^3)\) 去噪/降维/特征提取
SVD 线性 Frobenius范数最小化 \(O(\min\{n^2D, nD^2\})\) 矩阵分解/推荐系统
KPCA 非线性 核方差最大化 \(O(n^2D + n^3)\) 非线性降维
LSA 线性 词-文档矩阵低秩近似 \(O(\min\{n^2D, nD^2\})\) 文本语义分析

22.4.2 聚类方法对比

方法 簇形状 簇数确定 对噪声敏感度 计算复杂度
k-means 球形 需预设 敏感 \(O(nKI)\)
层次聚类 任意 可由树确定 较不敏感 \(O(n^2)\)
DBSCAN 任意 需预设 \(\varepsilon\), \(MinPts\) 不敏感 \(O(n^2)\)\(O(n \log n)\)
GMM 椭球形 需预设 敏感 \(O(nK^2I)\)

22.4.3 概率模型对比

方法 隐变量 先验 推断方法 优势
GMM 簇标签 EM/变分 软聚类/概率解释
pLSA 主题 EM 文本主题建模
LDA 主题 Dirichlet Gibbs/变分 层次贝叶斯/可扩展

22.4.4 统一视角

从矩阵分解的角度看,PCA、SVD、LSA本质上都是对数据矩阵进行低秩分解:

\[\mathbf{X} \approx \mathbf{Z} \mathbf{W}^T\]

其中 \(\mathbf{Z} \in \mathbb{R}^{n \times d}\) 是低维表示,\(\mathbf{W} \in \mathbb{R}^{D \times d}\) 是基向量矩阵。不同的方法通过不同的约束(正交性、非负性、稀疏性)和不同的目标函数(方差、Frobenius范数)来学习这些矩阵。

从概率生成的角度看,GMM、pLSA、LDA都是隐变量模型的特例。它们的共同结构是:observed variables \(\mathbf{x}\) 由 latent variables \(\mathbf{z}\) 生成,通过条件概率 \(p(\mathbf{x}|\mathbf{z}; \boldsymbol{\theta})\) 进行建模。EM算法或其变体是学习这类模型的标准方法。

22.5 主要结论

通过对无监督学习三大类方法的系统总结,我们可以得出以下核心结论。

第一,降维、聚类和概率模型三类方法在目标是统一的:它们都旨在发现数据的低维结构。只不过降维关注样本级别的低维表示,聚类关注样本的分组标签,概率模型关注数据的生成机制。

第二,不同方法之间存在深刻的联系:PCA是SVD在协方差矩阵上的应用;LSA是词-文档矩阵上的SVD;LDA是pLSA的贝叶斯扩展;pLSA和LDA都可以看作是矩阵分解的概率解释。这种联系使得我们可以在统一框架下理解和比较不同方法。

第三,没有"最好"的聚类或降维方法,只有"最适合"的方法。方法的选择取决于数据特性(维度、规模、噪声结构)和应用需求(可解释性、计算效率、精度要求)。

22.6 未来发展方向

无监督学习的前沿研究方向包括以下几个方面。

深度生成模型。 变分自编码器(VAE)和生成对抗网络(GAN)将深度学习的表示学习能力与概率生成模型结合,能够学习高度复杂的数据分布。Flow模型、扩散概率模型等进一步提高了生成质量和推断灵活性。

自监督学习。 自监督学习通过设计预文本任务(pretext tasks)从无标签数据中学习有用表示。代表性方法包括对比学习(Contrastive Learning)、掩码语言建模(Masked Language Modeling)和预测性学习(Predictive Learning)。这类方法在视觉和语言领域取得了突破性进展。

非参数方法。 非参数贝叶斯方法(如Dirichlet Process、HDP)能够自适应地确定隐变量的个数,避免了需要预先指定模型复杂度的问题。这些方法为无监督学习提供了更灵活的建模工具。

因果发现与表示学习。 因果表示学习旨在从数据中发现因果结构,并学习因果相关的表示。这是连接无监督学习与因果推断的前沿方向,有望推动人工智能向更可解释、更可靠的方向发展。

22.7 个人思考与批判性分析

本章作为全书的收尾,成功地将前21章介绍的各类无监督学习方法进行了系统性的整合。通过降维、聚类、概率模型三大维度的分类框架,读者可以清晰地看到各方法之间的联系与区别。

本章最有价值的是22.4节的对比分析。通过将看似不同的方法归类到"矩阵分解"和"概率生成"两个统一框架下,本章揭示了无监督学习方法论的深层一致性。这种跨方法的统一视角对于研究创新具有重要启发意义——许多前沿研究正是通过融合不同方法的优势来实现的。

然而,本章也存在一些不足。首先,对于深度学习方法(如VAE、GAN)的介绍相对简略,未能充分反映当前无监督学习领域的研究热点。其次,对于大规模分布式无监督学习的工程挑战几乎没有涉及。此外,本章与第12章(无监督学习概述)在内容上有较多重复,在全书结构上显得不够紧凑。

总的来说,本章为读者提供了全面而系统的无监督学习方法论总结,为后续的深入学习和研究奠定了基础。

公式汇总表

编号 公式名称 公式形式 说明 类型
(22.1) PCA特征值分解 \(\mathbf{X}^T\mathbf{X} = \mathbf{V}\boldsymbol{\Lambda}\mathbf{V}^T\) 协方差矩阵特征值分解 定义
(22.2) PCA重构误差 \(\|\mathbf{X}-\mathbf{Z}\mathbf{V}_d^T\|_F^2 = \sum_{j=d+1}^{D}\lambda_j\) 重构误差等于丢弃特征值之和 理论
(22.3) SVD分解 \(\mathbf{X}=\mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^T\) 任意矩阵的奇异值分解 定义
(22.4) KPCA核特征值 \(\mathbf{K}\boldsymbol{\alpha}=\lambda\boldsymbol{\alpha}\) 核矩阵特征值分解 公式
(22.5) LSA截断SVD \(\mathbf{X}\approx\mathbf{U}_k\boldsymbol{\Sigma}_k\mathbf{V}_k^T\) 词-文档矩阵低秩近似 公式
(22.6) k-means目标 \(\min\sum_i\sum_k r_{ik}\|\mathbf{x}_i-\boldsymbol{\mu}_k\|^2\) 簇内平方和最小化 目标
(22.7) DBSCAN密度可达 $\mathbf{x}'\in N_\varepsilon(\mathbf{x}), N_\varepsilon(\mathbf{x}) \geq MinPts$
(22.8) 轮廓系数 \(s(i)=\frac{b(i)-a(i)}{\max\{a(i),b(i)\}}\) 聚类质量评估指标 评估
(22.9) GMM混合分布 $p(\mathbf{x})=\sum_k\pi_k\mathcal{N}(\mathbf{x} \boldsymbol{\mu}_k,\boldsymbol{\Sigma}_k)$ 高斯混合模型定义
(22.10) pLSA联合概率 $p(d,w)=p(d)\sum_z p(z d)p(w z)$
(22.11) LDA Dirichlet先验 $p(\boldsymbol{\theta} \boldsymbol{\alpha})=\frac{\Gamma(\sum\alpha_k)}{\prod\Gamma(\alpha_k)}\prod\theta_k^{\alpha_k-1}$ 文档-主题Dirichlet先验
(22.12) LDA生成过程 \(\boldsymbol{\theta}_d\sim\text{Dir}(\boldsymbol{\alpha}), z_{di}\sim\text{Mult}(\boldsymbol{\theta}_d), w_{di}\sim\text{Mult}(\boldsymbol{\varphi}_{z_{di}})\) LDA生成过程描述 过程
(22.13) Gibbs条件分布 $P(z_i=k z_{-i},w)\propto(\alpha_k+n_{-i,k}^{(d_i)})(\beta_{w_i,k}+n_{-i,k}^{(w_i)})$ LDA Collapsed Gibbs采样
(22.14) ELBO变分下界 \(\mathcal{L}(q)=\mathbb{E}_q[\log p(\mathbf{x},\mathbf{z},\boldsymbol{\theta},\boldsymbol{\varphi})]-\mathbb{E}_q[\log q(\mathbf{z},\boldsymbol{\theta},\boldsymbol{\varphi})]\) 变分推断目标 公式