第12章 支持向量机分类

在许多情况下,我们希望机器学习算法能够预测若干(离散)结果中的一个。例如,电子邮件客户端会将邮件分为个人邮件和垃圾邮件,这就有两个结果。另一个例子是望远镜识别夜空中的天体是星系、恒星还是行星。通常结果的数量较少,更重要的是,这些结果之间往往没有额外的结构。 在本章中,我们考虑输出二元值的预测器,也就是说,只有两种可能的结果。这种机器学习任务称为二分类(binary classification)。这与第 9 章形成对比,当时我们讨论的是连续值输出的预测问题。对于二分类,标签/输出可以取的值是二元的,本章中我们用 {+1,−1} 表示。换句话说,我们考虑的预测器形式为 \[ f:\mathbb{R}^D \to \{+1,-1\}. \tag{12.1} \]

回忆第 8 章,我们用 \(D\) 个实数的特征向量表示每个样本(数据点)\(x_n\)。标签通常分别称为正类(positive class)和负类(negative class)。但应当注意,不要根据“正”或“负”字面意义推断+1类的直观属性。例如,在癌症检测任务中,有癌症的患者往往被标记为+1。原则上可以使用任何两个不同的值,例如{True,False}、{0,1}或{red,blue}。二分类问题研究得比较充分,其他方法的综述我们放到 12.6 节再介绍。我们将介绍一种称为支持向量机(Support Vector Machine, SVM)的方法,它用于解决二分类任务。与回归类似,这是一个监督学习任务:我们有一组样本 \(x_n \in \mathbb{R}^D\),以及对应的(二元)标签 \(y_n \in \{+1,-1\}\)。给定一个包含样本–标签对 \(\{(x_1,y_1),\dots,(x_N,y_N)\}\) 的训练数据集,我们希望估计模型参数,使分类错误率最小。类似第 9 章,我们考虑线性模型,并把非线性隐藏在对样本的一个变换 \(\phi\) 中(见式(9.13))。我们将在 12.4 节重新讨论 \(\phi\)

支持向量机(SVM)在许多应用中都能提供最先进的结果,并且具有坚实的理论保证(Steinwart 和 Christmann, 2008)。我们之所以选择用 SVM 来说明二分类问题,主要有两个原因。

首先,SVM 提供了一种几何方式来思考监督学习问题。 在第 9 章中,我们是从概率模型的角度来看待机器学习问题,并用极大似然估计和贝叶斯推断来解决。而在这里,我们考虑一种替代的方法,即从几何角度来推理机器学习任务。这种方法高度依赖于我们在第 3 章讨论过的内积投影等概念。

第二个原因是,与第 9 章不同,SVM 的优化问题没有解析解,因此需要借助第 7 章介绍的各种优化工具。 SVM 对机器学习的理解与第 9 章的极大似然方法存在细微的差异:极大似然方法是基于数据分布的概率观点提出一个模型,再由此推导出一个优化问题;而 SVM 的方法则是从几何直觉出发,先设计一个需要在训练过程中被优化的函数。我们已经在第 10 章看到过类似的情况,当时我们从几何原理出发推导了 PCA。在 SVM 的例子中,我们通过设计一个损失函数来度量训练数据上的误差,并遵循经验风险最小化原则(第 8.2 节),在训练中加以最小化。

阅读全文 »

第11章 高斯混合模型的密度估计

Density Estimation with Gaussian Mixture Models

在前几章中,我们已经讨论了机器学习中的两个基本问题:回归(第 9 章)和降维(第 10 章)。在本章中,我们将探讨机器学习的第三个支柱:密度估计。在这一过程中,我们会引入一些重要的概念,例如期望最大化(EM)算法,以及通过混合模型来理解密度估计的潜在变量视角。

F11.1

当我们将机器学习应用于数据时,往往希望以某种方式来表示数据一个直接的方法就是将数据点本身作为数据的表示;例如见图 11.1。 然而,如果数据集非常庞大,或者我们更关心数据的整体特征,那么这种方式可能就不太有用了。在密度估计中,我们通过使用某个参数化分布族中的分布(例如高斯分布或 Beta 分布),来紧凑地表示数据。比如,我们可能希望通过数据集的均值和方差,用一个高斯分布来进行紧凑表示。均值和方差可以通过第 8.3 节讨论的工具(最大似然估计或最大后验估计)来求得。接着,我们就可以用这个高斯分布的均值和方差来表示数据背后的分布,即我们认为该数据集是从这个分布中采样得到的一次典型实现。

个人注:高斯混合模型的密度估计是一种表示数据的方法!其实也是一种建模,因为这个分布就是对应该类数据的模型表达。

阅读全文 »

第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

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

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

阅读全文 »
0%