第10章 主成分分析的降维

Dimensionality Reduction with Principal Component Analysis

直接处理高维数据(例如图像)会带来一些困难:它很难分析、难以解释、几乎无法可视化,并且(从实际角度来看)存储这些数据向量的代价可能很高。然而,高维数据往往具有一些可以利用的性质。例如,高维数据通常是 过完备的(overcomplete),即许多维度是冗余的,可以由其他维度的组合来解释。此外,高维数据中的各个维度往往是相关的,因此数据实际上存在一个 内在的低维结构降维 就是利用这种结构和相关性,使我们能够以更紧凑的方式表示数据,理想情况下还能避免信息丢失。我们可以将降维看作是一种压缩技术,类似于 jpegmp3,它们分别是图像和音乐的压缩算法。

在本章中,我们将讨论 主成分分析(PCA),这是一种线性的降维算法。PCA 由 Pearson (1901) 和 Hotelling (1933) 提出,至今已有一百多年历史,但仍然是数据压缩和数据可视化中最常用的技术之一。它还被广泛用于识别高维数据中的简单模式、潜在因子以及数据结构。在信号处理领域,PCA 也被称为 Karhunen-Loève 变换。在本章中,我们将从最基本的原理推导 PCA,依赖于我们对 基和基变换(第 2.6.1 和 2.7.2 节)、投影(第 3.8 节)、特征值(第 4.2 节)、高斯分布(第 6.5 节)以及 约束优化(第 7.2 节)的理解。

降维通常利用高维数据(例如图像)的一个性质:它们往往位于低维子空间上。图 10.1 给出了一个二维的示例说明。虽然图 10.1(a) 中的数据并不完全落在一条直线上,但它在 \(x_2\)-方向上的变化很小,因此我们几乎可以把它看作是落在一条直线上——几乎没有信息损失;见图 10.1(b)。为了描述图 10.1(b) 中的数据,只需要 \(x_1\)-坐标即可,此时数据位于 \(\mathbb{R}^2\) 的一个一维子空间中。

F10.1

阅读全文 »

第 9 章 线性回归

Linear Regression

在本章中,我们将应用第 2、5、6 和 7 章中的数学概念来解决线性回归(曲线拟合 curve fitting)问题。在回归中,我们的目标是找到一个函数 \(f\),它将输入 \(x \in \mathbb{R}^D\) 映射到相应的函数值 \(f(x) \in \mathbb{R}\)

我们假设给定了一组训练输入 \(x_n\) 及其对应的带噪观测值 \(y_n = f(x_n) + \varepsilon\),其中 \(\varepsilon\) 是独立同分布(i.i.d.)的随机变量,用来描述测量/观测噪声以及可能未建模的过程(本章中我们不再考虑后者)。在整个章节中,我们假设噪声是零均值高斯噪声。

F9.1

我们的任务是找到一个函数,该函数不仅能够拟合训练数据,还能够很好地推广到预测训练数据之外输入位置的函数值(见第 8 章)。图 9.1 展示了这样一个回归问题的例子。典型的回归场景如图 9.1(a):对于一些输入值 \(x_n\),我们观测到带噪声的函数值 \(y_n = f(x_n) + \varepsilon\)。任务是推断出生成这些数据的函数 \(f\),并且能很好地推广到新的输入位置。图 9.1(b) 给出了一个可能的解答,其中我们同时展示了以函数值 \(f(x)\) 为中心的三个分布,用来表示数据中的噪声。

回归是机器学习中的一个基本问题,回归问题广泛出现在各种研究领域和应用中,包括:

  • 时间序列分析(如系统辨识)
  • 控制与机器人(如强化学习、前向/逆向模型学习)
  • 优化(如线搜索、全局优化)
  • 深度学习应用(如电子游戏、语音转文本转换、图像识别、自动视频标注)
阅读全文 »

第8章 当模型遇到数据

在本书的第一部分,我们介绍了许多机器学习方法所依赖的数学基础。希望读者能够从第一部分学习到数学语言的基本形式,而我们接下来将利用这些形式来描述和讨论机器学习。本书的第二部分介绍了机器学习的四大支柱:

  • 回归(第9章)
  • 降维(第10章)
  • 密度估计(第11章)
  • 分类(第12章)

本书这一部分的主要目标是展示如何利用第一部分介绍的数学概念来设计机器学习算法,从而解决四大支柱范围内的任务。我们无意介绍高级的机器学习概念,而是希望提供一套实用的方法,使读者能够运用第一部分所学的知识。同时,这部分内容也为已经熟悉数学的读者提供了进入更广泛机器学习文献的入口。

阅读全文 »

7、连续优化

Continuous Optimization

由于机器学习算法是在计算机上实现的,其中许多数学方程式都表示为数值优化方法。本章描述了训练机器学习模型的基本数值方法。训练机器学习模型通常归结为找到一组好的参数。“好”的概念是由目标函数或概率模型来决定的,我们将在本书的第二部分看到这些例子。给定一个目标函数,使用优化算法来寻找最佳值。\(\mathbb{R}^{D}\) 中考虑数据和模型,所以我们面临的优化问题是连续优化问题,而不是离散变量的组合优化问题。

一般情况下,机器学习中的大多数目标函数都是要被最小化的,即最优值就是最小值。直观上,梯度为目标函数每个点的上坡方向,而我们的目的是下坡(与梯度方向相反),希望找到最深的点。

阅读全文 »

6、概率与分布

Probability and Distributions

概率论可以看作是布尔逻辑的推广。在机器学习的背景下,它经常以这种方式应用于自动推理系统的形式化设计。

在机器学习和统计学中,有两种主要的概率解释:贝叶斯主义和频率主义(Bishop, 2006;Efron and Hastie, 2016)。贝叶斯主义使用概率来指定用户对事件的不确定性程度。它有时被称为“主观概率”或“置信程度”。频率主义则考虑感兴趣的事件与所发生事件的总数的相对频率。一个事件的概率定义为当发生事件的总数趋于无限时,该事件的相对频率。详细例子见《概率中贝叶斯派与经典频率主义区别例子.md》

贝叶斯主义和频率主义两者的核心区别在于:频率主义把参数视为固定值,而贝叶斯主义把参数视为随机变量,因此需要引入先验知识。两者的核心区别确实与“是否考虑先验知识”相关,但更根本的区别在于它们对“参数”的哲学认知不同:固定值 vs. 随机变量。

阅读全文 »

5、向量微积分

Vector Calculus

函数的梯度方向指向最陡峭的上升方向,而不是导数本身。导数是标量,没有方向性;梯度才是决定函数与曲面上升方向的向量。理解这一点有助于区分函数与其图像(曲面)之间的关系。详见《导数和梯度的概念.md》

5.1 泰勒级数

泰勒级数是函数\(f\)的无穷项和的表示。这些项是用\(f\)的导数来确定的。多项式逼近函数的泰勒级数

泰勒级数

对于一个平滑的函数 $ f ^{},  f: $ ($ f ^{} $ 表示 \(f\) 连续且可微无穷多次), \(f\)\(x_0\) 的泰勒级数(Taylor series)定义为:
\[ T_{\infty}(x) = \sum_{k=0}^{\infty} \frac{f^{(k)}\left(x_{0}\right)}{k !} \left(x - x_{0}\right)^{k} \]

当 $ x_0 = 0 $ 时,我们得到麦克劳林级数(Maclaurin series),它是泰勒级数的特殊实例。 如果 $ f(x) = T_{}(x) $,那么 \(f\) 称为解析的(analytic)。

阅读全文 »

3、解析几何

Analytic Geometry

内积及其相应的范数和度量可以得到相似性和距离的直观概念

范数表示向量的长度,范数可以由内积引出(但不必要,例如曼哈顿范数就不是)
内积可以是不同的定义(所以不同的内积定义的长度是不一样的),内积由唯一的对称正定矩阵确定(正定矩阵的定义符合要求)。
内积来计算向量的长度和向量之间的夹角.

阅读全文 »

2、线性代数

Linear Algebra

在形式化一些直观概念时,常见的方法是构造一组对象(符号)和一些操作这些对象的规则。 这就是所谓的代数(algebra)。线性代数是研究向量以及使用某些确定的规则来操作向量的 一门学科。 我们许多人从学校里知道的向量被称为“几何向量”,通常用上方带一个小箭头的字母表示。

向量是特殊的对象,将它们相加并乘以标量产生的是另一个相同类型的对象。从抽象的数学来看,任何满足这两个性质的物体都可以被认为是向量。

阅读全文 »

英文原版《Mathematics for Machine Learning》,在过去大半年的时间里断断续续地坚持读完了。只能说,数学书永远是最耗费时间和脑力的。如今终于抽出空来,把阅读中的笔记整理出来,并按知识领域分成七篇文章。

数学是这个世界上最精确的语言!

阅读全文 »
0%