图宾根大学机器学习数学笔记-全-
图宾根大学机器学习数学笔记(全)
机器学习数学:P1:欢迎与课程介绍 🎓

在本节课中,我们将了解“机器学习数学”这门课程的基本信息、授课形式以及涵盖的核心内容。
早上好,欢迎来到“机器学习数学”课程。

我是里克基·卢斯博,是图宾根大学的机器学习教授,本学期将由我讲授这门课程。新冠疫情仍在持续,因此课程不得不以在线形式进行。对此我感到遗憾,因为我教学时通常喜欢与大家互动,观察你们的表情,看到你们理解时的微笑或困惑时的皱眉。至少以这种方式,这些互动将无法实现。然而,我们将提供翻转课堂以及小班在线辅导,希望仍能创造一些互动机会,让大家可以提问、发表意见,并就课程进展给我们反馈。
课程内容正如其名,是机器学习数学。本质上,这是一门复习性质的课程,大部分内容对你们中的多数人来说应该是已知的。我们将讨论线性代数、多元分析、概率论、统计学、数值方法、优化等各个方面。如果你想真正深入机器学习,并最终能够设计自己的机器学习算法、解决自己的机器学习问题,这些知识都是必需的。

我对这门课程的设计理念有些纠结。

一方面,它是一门复习课,因此进度应该相当快。我无法在每个主题上花费我希望的那么多时间。另一方面,我无法看到你们的即时反馈,因此很难把握合适的授课节奏、合适的示例数量,或者应该展示多少证明过程。如果你认为课程应以不同方式设计,请务必给我反馈。
上学期,我是在户外的花园里录制课程的。不幸的是,现在是冬季学期,这已不可能。因此,我也在努力搭建一个室内录制环境。尽管如此,我尽力让这个在线视频录制环境看起来不错。你会注意到我已经录制了一些视频,其中最初的一些视频效果并不理想:声音太低、光线不对、背景太亮而我太暗等等。随着我继续录制,情况会有所改善。
本节课中,我们一起了解了“机器学习数学”课程的概况、在线授课形式以及涵盖的数学核心领域。课程旨在为深入机器学习领域打下坚实的数学基础。
002:向量空间 📚
在本节课中,我们将开始学习机器学习数学课程的第一个主要部分——线性代数。线性代数在机器学习中无处不在,从拟合线性模型、主成分分析,到优化算法、数值计算以及分析梯度下降的收敛速度,都离不开它的核心概念。我们将从最基础的定义开始,正式地构建对线性代数的理解。
群的定义
上一节我们概述了线性代数的重要性,本节中我们来看看构建向量空间所需的最基本数学结构之一:群。
一个群是一个集合 G,其元素之间定义了一种运算。
以下是构成一个群需要满足的条件:
- 封闭性:对于集合 G 中的任意两个元素 a 和 b,运算 a ∘ b 的结果仍然在集合 G 中。
- 公式:
∀ a, b ∈ G: a ∘ b ∈ G
- 公式:
- 结合律:对于任意元素 a, b, c,运算满足结合律。
- 公式:
(a ∘ b) ∘ c = a ∘ (b ∘ c)
- 公式:
- 单位元:存在一个特殊的元素 e(称为单位元),使得对于任意元素 a,有 a ∘ e = e ∘ a = a。
- 逆元:对于任意元素 a,都存在一个元素 a⁻¹(称为 a 的逆元),使得 a ∘ a⁻¹ = a⁻¹ ∘ a = e。
本节课中我们一起学习了群的正式定义,它是理解后续更复杂代数结构(如向量空间)的基石。下一讲,我们将基于群的概念,继续探讨向量空间的定义。
003:线性代数 2 - 基与维度
在本节课中,我们将学习向量空间的一个重要概念:子空间。我们将了解子空间的定义、性质,并通过具体例子来加深理解。
上一节我们介绍了向量空间的定义和几个例子。本节中,我们来看看什么是子空间。
子空间的定义
设 V 是一个向量空间,U 是 V 的一个非空子集。
我们可以定义很多这样的集合 U,但要想成为一个子空间,该集合必须满足特定的性质。具体来说,它必须自身构成一个向量空间,这尤其意味着它必须在所有向量运算下是封闭的。
因此,如果我们从 U 中任取两个向量,它们的和必须仍然在 U 中,标量乘法也是如此。
我们称 U 是 V 的一个子空间,当且仅当它对线性组合封闭。
这意味着,无论我从标量域 F 中取哪个标量 λ 和 μ,也无论我从向量空间 V 中取哪个向量 u 和 v(只要它们在 U 中),线性组合 λu + μv 的结果仍然在 U 中。
公式表示:
若 U ⊆ V,且对于任意 λ, μ ∈ F 和任意 u, v ∈ U,都有 λu + μv ∈ U,则 U 是 V 的子空间。
本质上,子空间本身就是一个向量空间,并且是封闭的。这意味着我们可以在子空间内进行向量的加法和数乘运算,而结果不会超出这个空间。这比单纯的“子集”概念要强得多。一个子集可能只包含两个向量,对它们求和的结果可能不在该子集内。但子空间是一个更大的对象,我们可以完全在其中操作,并将其视为一个独立的向量空间。
子空间的例子
以下是几个子空间的例子,以帮助理解这个概念。
- 连续函数空间:定义在集合 X 上的所有连续实值函数构成的集合,是所有实值函数空间的一个子空间。因为两个连续函数的和仍然是连续函数,一个连续函数乘以标量也仍然是连续函数。
- 三维空间中的平面:在三维空间 ℝ³ 中,所有通过原点的平面构成 ℝ³ 的一个子空间。因为该平面上的任意向量相加或数乘后,结果仍然在这个平面上。
- 零空间:仅包含零向量的集合 {0},是任何向量空间 V 的一个子空间。这被称为零子空间。
总结
本节课中,我们一起学习了子空间的概念。我们了解到,子空间是向量空间的一个特殊子集,它自身也构成一个向量空间,并且对加法和数乘运算是封闭的。我们通过连续函数空间和三维空间中的平面等例子,具体理解了子空间的定义和性质。理解子空间是学习后续线性代数核心概念(如基、维度和线性变换)的重要基础。
004:子空间的和与直和

在本节课中,我们将要学习线性代数中两个重要的概念:子空间的和与直和。我们将了解它们的定义、区别以及如何判断一个和是否为直和。
我们已经了解了基和子空间的概念。现在,有一个概念将这两者联系起来,那就是子空间的和与直和。


子空间的和

首先,我们来定义子空间的和。
假设我们有两个子空间 U₁ 和 U₂,它们都是向量空间 V 的子空间。那么,这两个子空间的和定义如下:


U₁ + U₂ = { u₁ + u₂ | u₁ ∈ U₁, u₂ ∈ U₂ }

这个定义的意思是:我们取第一个子空间 U₁ 中的任意一个向量 u₁,再取第二个子空间 U₂ 中的任意一个向量 u₂,将它们相加,得到的所有可能的向量 u₁ + u₂ 构成的集合,就是 U₁ 和 U₂ 的和。
这个新的集合 U₁ + U₂ 本身也是一个子空间。如果你不能立刻看出这一点,可以尝试自己证明,过程非常简单。

子空间的直和
在上面的定义中,我们并没有排除 U₁ 和 U₂ 有重叠部分(即交集不为零)的情况。但在很多情况下,我们更关心那些不重叠的子空间。为了描述这种情况,我们需要引入直和的概念。

一个和 U₁ + U₂ 被称为直和,当且仅当和空间中的每一个元素,其表示方式都是唯一的。

换句话说,对于直和 U₁ ⊕ U₂ 中的任意向量 v,只存在唯一的一对向量 u₁ ∈ U₁ 和 u₂ ∈ U₂,使得 v = u₁ + u₂。
以下是判断一个和是否为直和的几个等价条件:
- 唯一分解性:如上所述,每个向量有唯一的分解方式。
- 平凡交集:两个子空间的交集只包含零向量,即 U₁ ∩ U₂ = {0}。
- 基的并集:如果 B₁ 是 U₁ 的一组基,B₂ 是 U₂ 的一组基,那么 B₁ ∪ B₂ 是 U₁ ⊕ U₂ 的一组基,并且 B₁ 和 B₂ 不相交。
总结
本节课中我们一起学习了子空间的和与直和。
- 和 (U₁ + U₂) 是通过将两个子空间的所有向量相加得到的新子空间。
- 直和 (U₁ ⊕ U₂) 是一种特殊的和,要求两个子空间除了零向量外没有其他公共部分(即交集为 {0}),这保证了和空间中每个向量的分解方式是唯一的。
理解直和对于后续学习向量的分解、投影以及更高级的线性代数概念至关重要。
005:线性映射、核与值域
在本节课中,我们将要学习线性代数中一个核心概念:线性映射。我们将定义什么是线性映射,并探讨其两个基本性质。之后,我们将介绍与线性映射紧密相关的两个重要子空间:核与值域。
上一节我们介绍了向量空间和基的概念。本节中,我们来看看连接不同向量空间的“桥梁”——线性映射。
线性映射的定义
首先,我们需要明确线性映射的定义。它涉及两个定义在相同数域 F(如实数域 ℝ 或复数域 ℂ)上的向量空间 U 和 V。
一个映射 T: U → V 被称为线性映射,当且仅当它满足以下两个基本性质:
以下是线性映射必须满足的两个条件:
- 可加性:对于 U 中任意两个向量 u₁ 和 u₂,有 T(u₁ + u₂) = T(u₁) + T(u₂)。
- 齐次性:对于 U 中任意向量 u₁ 和数域 F 中任意标量 λ,有 T(λ u₁) = λ T(u₁)。
这两个性质可以合并为一个条件:对于任意 u₁, u₂ ∈ U 和任意 λ, μ ∈ F,有 T(λ u₁ + μ u₂) = λ T(u₁) + μ T(u₂)。
线性意味着映射与向量空间的基本运算(向量加法和标量乘法)“兼容”。无论你先在输入空间进行运算再映射,还是先映射再在输出空间进行运算,结果都相同。这是一个非常强的性质,大多数我们随意构造的映射都不具备。
核与值域
定义了线性映射后,我们可以引出两个由其决定的特殊子空间:核与值域。
核
核衡量的是映射“丢失”了多少信息。具体来说,核是输入空间中所有被映射到零向量的向量集合。
核的定义公式为:ker(T) = { u ∈ U | T(u) = 0 }。
核是定义域 U 的一个子空间。如果核中只包含零向量(ker(T) = {0}),则称映射 T 是单射(或一一的)。
值域
值域描述的是映射的“输出”能力,即所有可能的输出结果的集合。
值域的定义公式为:range(T) = { v ∈ V | ∃ u ∈ U, T(u) = v }。
值域是目标空间 V 的一个子空间。如果值域等于整个目标空间 V(range(T) = V),则称映射 T 是满射。
总结
本节课中我们一起学习了线性映射及其核心性质。我们了解到,线性映射是保持向量加法和标量乘法运算的映射。基于线性映射,我们定义了其核与值域,它们分别是定义域和目标空间的子空间,分别描述了映射的“输入丢失”程度和“输出覆盖”范围。理解这些概念是深入学习矩阵、线性方程组和特征值等问题的基础。
006:矩阵与线性映射 🧮
在本节课中,我们将学习矩阵的正式定义,并探讨矩阵与线性映射之间的核心关系。上一节我们介绍了线性映射、值域和核的概念,本节中我们来看看如何用矩阵这一具体工具来表示线性映射。
矩阵的定义
首先,我们定义什么是矩阵。矩阵通常用大写字母表示,例如 A。一个矩阵由若干行和列组成。
一个通用的矩阵 A 可以表示为:
$$
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \
a_{21} & a_{22} & \cdots & a_{2n} \
\vdots & \vdots & \ddots & \vdots \
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{pmatrix}
$$
我们通常将其元素记作 $a_{ij}$,其中 $i$ 从 1 到 $m$,$j$ 从 1 到 $n$。
在标准记法中:
- $m$ 代表矩阵的行数。
- $n$ 代表矩阵的列数。
因此,矩阵 A 是一个 $m \times n$ 的数组。
矩阵与线性映射的关系
现在,我们想了解矩阵如何与线性映射相关联。考虑一个线性映射 $T$,它从一个向量空间 $V$ 映射到另一个向量空间 $W$。
我们假设 $V$ 和 $W$ 都是有限维的。
从本质上讲,在线性代数中,一个核心结论是:在有限维向量空间上,每个线性映射都对应一个矩阵,而每个矩阵(在给定基下)也对应一个线性映射。尽管你可能已经了解这一点,但我们仍需要正式地展示其工作原理,因为这有助于你深入理解这些基本概念。
以下是理解这种对应关系的关键步骤:
-
选择基:首先,为定义域空间 $V$ 选择一个基 $B_V = {\mathbf{v}_1, \dots, \mathbf{v}_n}$,并为陪域空间 $W$ 选择一个基 $B_W = {\mathbf{w}_1, \dots, \mathbf{w}_m}$。
-
计算映射结果:将线性映射 $T$ 作用于 $V$ 的每个基向量 $\mathbf{v}_j$ 上,得到 $T(\mathbf{v}_j)$,这个结果位于 $W$ 中。
-
坐标表示:将每个结果 $T(\mathbf{v}j)$ 用 $W$ 的基 $B_W$ 进行表示,即写为一组坐标 $(a, a_{2j}, \dots, a_{mj})^T$,使得:
$$T(\mathbf{v}j) = a\mathbf{w}1 + a\mathbf{w}2 + \dots + a\mathbf{w}_m$$ -
构造矩阵:将这些坐标向量作为列,按顺序排列,就构成了线性映射 $T$ 相对于所选基 $B_V$ 和 $B_W$ 的表示矩阵 $\mathbf{A}T$:
$$\mathbf{A}T = \begin{pmatrix}
a & a & \cdots & a_{1n} \
a_{21} & a_{22} & \cdots & a_{2n} \
\vdots & \vdots & \ddots & \vdots \
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{pmatrix}$$
这个 $m \times n$ 矩阵 $\mathbf{A}_T$ 完全编码了线性映射 $T$ 在特定基下的行为。反之,给定一个 $m \times n$ 矩阵和 $V$、$W$ 的一组基,我们也可以唯一地确定一个线性映射。
总结
本节课中我们一起学习了矩阵的正式记法和定义,并深入探讨了矩阵与线性映射之间一一对应的核心关系。关键在于理解,矩阵是线性映射在选定基下的坐标表示。通过为定义域和值域空间选择基,我们可以将抽象的线性映射 $T$ 转化为具体的、可计算的数字阵列(即矩阵)。这种对应关系是线性代数应用于机器学习及其他领域的计算基础。
007:可逆映射与矩阵
在本节课中,我们将要学习线性代数中的一个核心概念:可逆映射与可逆矩阵。我们将探讨什么是可逆的线性映射,以及如何通过矩阵来表示和计算其逆。理解可逆性对于后续学习线性方程组求解、坐标变换以及更高级的机器学习算法至关重要。
定义可逆映射
上一节我们介绍了线性映射的基本性质,本节中我们来看看如何定义一个可逆的线性映射。
考虑一个线性映射 T,它从一个向量空间 V 映射到另一个向量空间 W。我们将其记作:
T: V -> W
那么,这个线性映射 T 何时被称为可逆的呢?
定义:线性映射 T 被称为可逆的,如果存在另一个线性映射 S,它从 W 映射回 V(即方向相反),记作:
S: W -> V
并且满足以下两个条件:
- S 与 T 的复合映射等于 V 上的恒等映射。即,先应用 T 再应用 S,结果等同于什么都没做。
S ∘ T = id_V - T 与 S 的复合映射等于 W 上的恒等映射。即,先应用 S 再应用 T,结果也等同于什么都没做。
T ∘ S = id_W
这里需要做一些说明:
- 恒等映射
id是指将一个向量映射到其自身的映射。有时我们会写成id_V或id_W来明确指明作用于哪个空间。 - 复合映射
S ∘ T的运算顺序是从右向左读。这意味着我们先应用右边的映射 T,然后再应用左边的映射 S。这是数学中的约定。
这个定义有一个特别之处。你可能在数学分析中见过,对于一个双射函数,我们可以直接定义其逆函数。但在这里,定义额外要求逆映射 S 本身也必须是一个线性映射。这是线性代数背景下逆映射的特殊性质。
如果这样的线性映射 S 存在,我们通常将其记作 T⁻¹,并称之为 T 的逆映射。
从映射到矩阵
理解了可逆映射的定义后,我们自然会问:如何用我们更熟悉的矩阵语言来描述它呢?
当我们为线性映射 T 和其逆映射 T⁻¹ 选定基底后,它们就可以分别用矩阵 A 和某个矩阵 B 来表示。那么,上面关于复合映射等于恒等映射的条件,就可以翻译成矩阵乘法的条件。
具体来说,如果 A 是 T 对应的矩阵(从 V 的基到 W 的基),B 是 T⁻¹ 对应的矩阵(从 W 的基回 V 的基),那么可逆的条件等价于:
- B * A = I (这里的 I 是 V 空间维度对应的单位矩阵)
- A * B = I (这里的 I 是 W 空间维度对应的单位矩阵)
这意味着矩阵 A 和 B 互为逆矩阵。我们称满足 A * B = B * A = I 的矩阵 A 为可逆矩阵或非奇异矩阵,而 B 就是 A 的逆矩阵,记作 A⁻¹。
核心概念总结
本节课中我们一起学习了线性映射与矩阵可逆性的核心概念。
- 一个线性映射 T: V -> W 是可逆的,当且仅当存在一个线性映射 S: W -> V,使得
S ∘ T = id_V且T ∘ S = id_W。 - 可逆性的关键在于逆映射 S 也必须是一个线性映射。
- 在矩阵表示下,映射的可逆性等价于对应矩阵的可逆性。矩阵 A 可逆意味着存在矩阵 A⁻¹,使得
A * A⁻¹ = A⁻¹ * A = I,其中 I 是单位矩阵。
理解可逆映射和矩阵是掌握线性代数基础的关键一步,它为后续求解线性系统、理解坐标变换和矩阵分解等内容奠定了坚实的基础。
008:矩阵的转置与逆
在本节课中,我们将要学习线性代数中的两个核心概念:矩阵的转置与矩阵的逆。我们将首先定义矩阵的转置,然后探讨矩阵的逆是什么,以及它与线性映射的逆有何关系,最后分析这两个概念之间的联系。
矩阵转置的定义

上一节我们介绍了矩阵的基本表示。本节中,我们来看看矩阵的转置。转置本质上是一个定义。

给定一个矩阵 A,其元素索引为 Aij,其中 i 从 1 到 m,j 从 1 到 n。这里我们引入一个简写符号:矩阵属于空间 Fm×n,这表示所有定义在域 F 上、大小为 m×n 的矩阵的集合。

矩阵 A 的转置矩阵,记作 AT,是通过交换原矩阵的行和列得到的。其元素定义为:
ATkj = Ajk
以下是转置操作的一个具体例子:

假设有一个矩阵:
A = [1, 2, 3]
[4, 5, 6]
那么它的转置矩阵 AT 为:
A^T = [1, 4]
[2, 5]
[3, 6]
可以看到,我们沿着主对角线“翻转”了矩阵。关于转置矩阵的记法有多种,需要注意区分。

矩阵的逆与线性映射的逆

理解了转置之后,我们进入更重要的部分:矩阵的逆。我们需要探讨矩阵的逆是什么,以及它如何与线性映射的逆相关联。
一个 n×n 的方阵 A 的逆矩阵,记作 A-1,是一个满足以下条件的矩阵:
A * A-1 = A-1 * A = I
其中 I 是 n×n 的单位矩阵。

并非所有矩阵都有逆矩阵。只有行列式不为零(即矩阵是非奇异的)的方阵才可逆。
对于一个从向量空间 V 到 W 的线性映射 Φ,如果存在一个线性映射 Ψ: W → V,使得 Ψ ∘ Φ = idV 且 Φ ∘ Ψ = idW,那么 Φ 是可逆的,且 Ψ 就是 Φ 的逆映射。

当我们在基底下用矩阵 A 表示线性映射 Φ 时,矩阵 A 的逆 A-1 恰好就代表了逆映射 Ψ 在同一组基下的矩阵。这就是矩阵的逆与线性映射的逆之间的核心联系。

转置与逆的关系
最后,我们来看看转置运算和求逆运算之间的关系。这两个操作可以交换顺序,具体关系由以下公式描述:
(AT)-1 = (A-1)T
这意味着,一个矩阵转置后再求逆,等于先求逆再转置。这个性质在推导许多线性代数公式时非常有用。
总结
本节课中我们一起学习了矩阵的两个基本操作:转置与求逆。
- 我们首先定义了矩阵的转置,即交换矩阵的行和列。
- 然后我们探讨了矩阵逆的定义及其与线性映射逆的关系,理解了可逆矩阵的条件。
- 最后,我们了解了一个重要的性质:转置运算与求逆运算是可交换的。
掌握这些概念是理解更高级线性代数主题和机器学习算法的基础。
009:基变换
在本节课中,我们将要学习线性代数中一个核心概念——基变换。我们将看到,同一个线性映射在不同基下的矩阵表示是不同的,并学习如何从一个基下的矩阵转换到另一个基下的矩阵。
基变换的动机
上一节我们介绍了线性映射的矩阵表示。我们已经知道,对于一个线性映射,我们总是可以用一个矩阵来表示它,而这个矩阵总是对应于源空间和目标空间中一组固定的基向量。
然而,在线性代数中,我们常常会遇到这样的情况:我们最初可能使用一组基,但最终发现使用另一组基进行计算会更加方便。例如,可能存在一组基,使得线性映射的矩阵形式看起来更简洁。
因此,有时我们需要做的是:即使我们已经知道一个映射在特定基下的矩阵,我们也需要改变基,并想知道当我们改变基时,这个矩阵会如何变化。这就是本节要展示的内容。
起点:恒等映射
为了理解基变换,我们从所有映射中最简单的一个开始,即恒等映射。
考虑恒等映射 I:从向量空间 V 到 V 自身,定义为 x 映射到 x。
恒等映射也是一个线性映射,因此我们可以在基下表示它。假设我们固定 V 的一组基。关键在于,如果我们在源空间和目标空间中使用同一组基,那么这个线性映射对应的矩阵就是单位矩阵。
具体来说,假设我们固定 V 的一组基,并且强调在源空间和目标空间中都使用这组相同的基。那么,对应的矩阵表示如下:
矩阵公式:如果源空间和目标空间使用相同的基,则恒等映射 I 的矩阵就是单位矩阵 I。
基变换的核心思想
现在,让我们考虑更一般的情况。假设我们有两组不同的基,分别称为“旧基”和“新基”。我们想知道,一个向量或一个线性映射的坐标表示如何从一组基变换到另一组基。
以下是理解基变换的关键步骤:
- 定义基变换矩阵:首先,我们需要一个矩阵来描述从旧基到新基的变换。这个矩阵的每一列是新基向量在旧基下的坐标。
- 向量的坐标变换:一个向量本身是几何对象,不依赖于基。但其坐标表示依赖于基。如果已知一个向量在旧基下的坐标,要得到它在新基下的坐标,我们需要用基变换矩阵的逆。
- 线性映射的矩阵变换:对于一个线性映射,其矩阵表示依赖于源空间和目标空间所选的基。如果我们在源空间和目标空间中都改变了基,那么映射的矩阵表示也会相应改变。
基变换公式推导
设:
- B 为旧基。
- B' 为新基。
- P 为从 B 到 B' 的基变换矩阵(即 P 的列是新基向量在旧基 B 下的坐标)。
- [v]_B 表示向量 v 在基 B 下的坐标列向量。
- [v]_B' 表示向量 v 在基 B' 下的坐标列向量。
- [T]_B 表示线性映射 T 在源空间和目标空间都使用基 B 时的矩阵。
- [T]_B' 表示线性映射 T 在源空间和目标空间都使用基 B' 时的矩阵。
那么,坐标和矩阵的变换公式如下:
向量坐标变换公式:
[v]_B = P * [v]_B'
或等价地
[v]_B' = P^{-1} * [v]_B
线性映射矩阵变换公式:
[T]_B' = P^{-1} * [T]_B * P
这个公式是基变换的核心。它告诉我们,要将一个映射在旧基 B 下的矩阵 [T]_B 转换到新基 B' 下的矩阵 [T]_B',我们需要左乘基变换矩阵的逆 P^{-1},再右乘基变换矩阵 P。
总结
本节课中,我们一起学习了线性代数中的基变换。
- 我们首先以恒等映射为例,明确了在同一组基下,其矩阵是单位矩阵。
- 然后,我们探讨了当源空间和目标空间使用不同基时,表示线性映射的矩阵会发生变化。
- 我们引入了基变换矩阵 P,并推导出了向量坐标和线性映射矩阵在不同基下相互转换的核心公式。
理解基变换对于简化矩阵运算、寻找更优的矩阵表示(如对角化)至关重要,是深入学习机器学习中许多高级主题的数学基础。
机器学习数学:1.9:矩阵的秩 🧮
在本节课中,我们将学习线性代数中一个核心且重要的概念——矩阵的秩。这个概念在机器学习中应用广泛,尤其是在低秩矩阵方法中。


矩阵秩的定义
上一节我们讨论了向量空间和维度,本节中我们来看看如何将这些概念应用到矩阵上。矩阵的秩衡量的是其列向量(或行向量)所张成空间的“信息量”或“自由度”。

考虑一个矩阵 A ∈ F^{m×n}(注意,它不一定是方阵)。我们定义矩阵 A 的列秩为:

列秩(A) = dim(span{a₁, a₂, ..., aₙ})
其中,a₁, a₂, ..., aₙ 是矩阵 A 的列向量。简单来说,列秩就是这些列向量所张成的向量空间的维度。
为了直观理解,假设我们有一个矩阵 A,它包含若干列。每一列都是一个向量,所有这些列向量共同张成一个空间。这个空间的维度就是矩阵的列秩。
行秩
与列秩相对应,我们可以类似地定义矩阵的行秩。

行秩(A) = dim(span{r₁, r₂, ..., rₘ})
其中,r₁, r₂, ..., rₘ 是矩阵 A 的行向量。行秩是这些行向量所张成空间的维度。


秩在机器学习中的意义
在后续的机器学习课程中,你会遇到许多所谓的“低秩矩阵方法”。
这些方法通常试图用一个矩阵来描述数据,并拟合一个线性模型。但关键在于,这个矩阵被假定为具有低秩。
低秩确保了矩阵的“表达能力”不会过强。从参数的角度看,一个低秩矩阵包含的有效参数数量较少,这有助于防止模型过拟合,并提升其泛化能力。这是机器学习中采用低秩近似的核心动机之一。
总结
本节课中我们一起学习了矩阵秩的概念。我们定义了列秩(列向量空间的维度)和行秩(行向量空间的维度),并了解到秩是衡量矩阵线性独立列(或行)数量的关键指标。最后,我们探讨了低秩矩阵在机器学习中的重要意义,即通过限制模型的复杂度来防止过拟合。理解秩是掌握后续线性代数与机器学习模型的基础。
011:商空间与等价关系
在本节课中,我们将学习线性代数中一个重要的构造——商空间。为了理解商空间,我们需要先了解一个更基础的数学概念:等价关系。虽然商空间本身与矩阵没有直接关系,但当我们希望“剔除”或“忽略”向量空间中的某个子空间时,它是一个非常有用的工具。理解这个概念需要一些时间,但一旦掌握,它就会变得非常简单明了。

等价关系的定义
上一节我们提到了商空间的概念。为了构建它,我们需要先绕一个小弯,引入等价关系。让我们直接开始定义。
考虑一个集合 S,它可以是任何事物,通常不一定是向量空间。我们想要在 S 上定义一个等价关系。
首先,我们定义集合 S 的笛卡尔积为 S × S,即所有有序对 (x, y) 的集合,其中 x 和 y 都属于 S。
现在,我们称 S × S 的一个子集 R 为 S 上的一个等价关系,如果它满足以下三个性质(对所有 x, y, z ∈ S 都成立):
以下是等价关系必须满足的三个公理:
- 自反性:对于所有 x ∈ S,有 (x, x) ∈ R。
- 直观理解:每个元素都与自身相关。例如,在“朋友”关系中,每个人都应该是自己的朋友。
- 对称性:如果 (x, y) ∈ R,那么 (y, x) ∈ R。
- 直观理解:如果 x 与 y 相关,那么 y 也与 x 相关。例如,如果 x 是 y 的朋友,那么 y 也应该是 x 的朋友。
- 传递性:如果 (x, y) ∈ R 且 (y, z) ∈ R,那么 (x, z) ∈ R。
- 直观理解:如果 x 与 y 相关,且 y 与 z 相关,那么 x 与 z 也相关。例如,如果 x 是 y 的朋友,y 是 z 的朋友,那么 x 也是 z 的朋友。
数学表示:
- 自反性:∀ x ∈ S, (x, x) ∈ R
- 对称性:∀ x, y ∈ S, (x, y) ∈ R ⇒ (y, x) ∈ R
- 传递性:∀ x, y, z ∈ S, (x, y) ∈ R ∧ (y, z) ∈ R ⇒ (x, z) ∈ R
如果一个关系满足这三个性质,它就能将集合 S 划分成若干个互不相交的等价类。每个等价类中的元素彼此都是等价的,而不同等价类中的元素则不等价。
从等价关系到商空间
理解了等价关系后,我们就可以回到线性代数的语境,来构建商空间。这个构造的核心思想是:给定一个向量空间 V 和它的一个子空间 U,我们希望通过“模掉”或“忽略” U 来定义一个新的向量空间。
具体做法是,在 V 上定义一个等价关系:两个向量 v₁ 和 v₂ 被认为是等价的,当且仅当它们的差属于子空间 U。
核心定义(等价关系):
对于向量空间 V 和其子空间 U,定义关系 ~ 为:
v₁ ~ v₂ ⇔ v₁ - v₂ ∈ U
可以验证,这个关系满足自反性、对称性和传递性,因此它是一个等价关系。这个等价关系将 V 划分成许多等价类。每个等价类都具有形式 v + U = { v + u | u ∈ U },这被称为一个仿射子空间或陪集。
所有这些等价类(即陪集)的集合,就构成了商空间,记作 V / U。
商空间的定义:
V / U = { v + U | v ∈ V }
商空间的向量空间结构
仅仅有集合还不够,我们需要让 V / U 成为一个向量空间。幸运的是,我们可以自然地定义加法和标量乘法:
- 加法:
(v₁ + U) + (v₂ + U) = (v₁ + v₂) + U - 标量乘法:
λ · (v + U) = (λv) + U
可以证明,这些定义是良定义的(即不依赖于等价类中代表元的选择),并且满足向量空间的所有公理。因此,V / U 确实构成了一个向量空间。
商空间的维度有一个简洁的公式:
维数公式:
dim(V / U) = dim(V) - dim(U)
这个公式直观地反映了我们从原空间 V 中“剔除”了子空间 U 的维度。
总结
本节课中我们一起学习了两个紧密相关的核心概念。
首先,我们介绍了等价关系,它是一个满足自反性、对称性和传递性的关系,能够将一个集合划分成若干个等价类。
接着,我们利用等价关系在线性代数中构建了商空间 V / U。其思想是,将向量空间 V 中相差一个子空间 U 中元素的向量视为等同,所有这些等价类(陪集)的集合就形成了商空间。我们还在这个集合上定义了自然的加法和标量乘法,使其成为一个新的向量空间,并且其维度满足 dim(V / U) = dim(V) - dim(U)。
商空间是处理线性结构时一个非常强大的工具,它允许我们专注于向量空间中“除开”某个特定子空间后的剩余信息,在后续学习像解线性方程组、研究线性映射的核与像等主题时,你会看到它的重要作用。
012:行列式 📐
在本节课中,我们将学习线性代数中的一个核心概念——行列式。行列式不仅在代数中非常重要,在分析学和优化问题(例如计算积分或运行梯度下降算法)中也扮演着关键角色。它能够揭示映射导数的许多重要性质。

抽象定义与性质
首先,我们从抽象定义开始。行列式是一个从 F^(n×n) 到 F 的映射,记作 D。这里的 F 代表一个固定的数域(如实数域或复数域),并且这个映射仅针对方阵。
接下来,我们看看一个映射 D 需要满足哪些性质才能被称为行列式。
以下是定义行列式的三个核心性质:
-
D1:列线性性
行列式 D 在其矩阵的每一列上都是线性的。这意味着,如果我们固定其他所有列,那么行列式关于任一列都是一个线性函数。 -
D2:交替性
如果矩阵 A 中有两列完全相同,那么其行列式 D(A) 等于零。 -
D3:规范性
单位矩阵 I 的行列式值为 1,即 D(I) = 1。
几何直观
上一节我们介绍了行列式的抽象定义和性质,本节中我们来看看它的几何意义,这有助于我们更直观地理解。
对于一个从 R^n 到 R^n 的线性映射(由一个 n×n 矩阵 A 表示),其行列式的绝对值 |det(A)| 描述了该映射对空间进行变换时,体积的缩放因子。
具体来说:
- 如果 |det(A)| > 1,变换会放大体积。
- 如果 |det(A)| = 1,变换保持体积不变(例如旋转、反射)。
- 如果 0 < |det(A)| < 1,变换会缩小体积。
- 如果 det(A) = 0,意味着矩阵 A 是奇异的,它将整个空间压缩到一个更低维度的子空间中(例如,将平面压缩成一条线),因此体积缩放因子为0。
行列式的符号则指示了该线性变换是否改变了空间的定向。正号表示保持定向(如旋转),负号表示反转定向(如镜像反射)。

计算方法与性质
理解了行列式的定义和几何意义后,本节我们来看看它的一些关键性质和基本计算方法。
以下是行列式的一些重要性质:
- 转置不变性:矩阵的行列式与其转置矩阵的行列式相等,即 det(A) = det(A^T)。
- 乘积的行列式:两个方阵乘积的行列式等于它们行列式的乘积,即 det(AB) = det(A) det(B)。
- 逆矩阵的行列式:如果矩阵 A 可逆,那么 det(A^{-1}) = 1 / det(A)。
- 行列式与秩:矩阵的行列式为零(det(A) = 0)是矩阵不可逆(即奇异)的充要条件。
对于小型矩阵,有直接的公式:
- 2×2 矩阵:
det([[a, b], [c, d]]) = a*d - b*c - 3×3 矩阵:可以使用萨鲁斯法则(对角线法则)计算。
对于更大的矩阵,通常通过行化简(高斯消元法)将其化为上三角矩阵,然后行列式的值就是主对角线上元素的乘积。需要注意的是,行交换会改变行列式的符号,而行倍加不改变行列式的值。
总结

本节课中,我们一起学习了行列式这一核心概念。我们从其抽象定义和三条基本性质(列线性性、交替性、规范性)出发,探讨了其几何直观——作为线性变换下体积的缩放因子和定向的改变指示器。最后,我们回顾了行列式的主要性质和基本计算方法。理解行列式对于深入学习机器学习中的优化、概率模型等主题至关重要。
013:特征值与特征向量
在本节课中,我们将要学习线性代数中的一个核心概念:特征值与特征向量。它们是数据分析和机器学习中许多算法的基础,能够以一种简洁的方式描述线性算子的行为。
概述
特征值与特征向量是描述线性变换的关键工具。如果一个向量在经过某个线性变换后,其方向保持不变,仅被拉伸或压缩,那么这个向量就是该变换的特征向量,其缩放的比例就是对应的特征值。这个概念在诸如主成分分析、奇异值分解和谱聚类等众多算法中都有广泛应用。
定义
上一节我们介绍了线性算子,本节中我们来看看如何正式定义特征值与特征向量。
我们考虑一个线性算子 T,它从一个向量空间 V 映射到自身(即 T: V → V)。
一个标量 λ(属于数域 F,通常是实数 ℝ 或复数 ℂ)被称为线性算子 T 的一个特征值,当且仅当存在一个非零向量 v ∈ V,使得以下等式成立:
T(v) = λv
这个等式意味着,当我们对向量 v 施加线性变换 T 时,得到的结果仅仅是 v 自身缩放 λ 倍。向量 v 就被称为对应于特征值 λ 的特征向量。
直观理解
为了更好地理解,我们可以想象一个线性变换,例如沿着某个特定方向的拉伸。在这个方向上,向量只被拉长或缩短,而不会改变方向。这个方向就是特征向量的方向,而拉伸或缩短的倍数就是对应的特征值。例如,如果一个变换将某个方向上的所有向量长度变为原来的2倍,那么该方向上的向量就是特征向量,对应的特征值就是2。
重要性
以下是特征值与特征向量在机器学习中的几个关键应用:
- 主成分分析:用于降维,通过找到数据协方差矩阵的特征向量(主成分)来识别数据中最重要的方向。
- 奇异值分解:是许多推荐系统和自然语言处理模型的基础,与特征值分解紧密相关。
- 谱聚类:一种基于图论的聚类方法,利用图的拉普拉斯矩阵的特征向量来对数据进行划分。
总结
本节课中我们一起学习了特征值与特征向量的定义和直观含义。我们了解到,特征向量是在线性变换下方向保持不变的向量,而特征值则是该向量被缩放的比例。这个概念是理解许多复杂机器学习算法的数学基石。在后续的学习中,我们将看到如何计算特征值与特征向量,并更深入地探索它们的应用。
014:特征多项式
在本节课中,我们将要学习特征多项式,这是连接矩阵特征值与多项式理论的核心桥梁。上一节我们介绍了特征值和特征向量的基本概念,本节中我们将深入探讨它们与多项式之间的深刻联系。
概述
在上一讲中,我们研究了矩阵的特征值和特征向量。我们曾在一处证明中看到,将矩阵的特征值与多项式联系起来可以揭示一些有趣的性质。我们通过一个证明了解到,在复数域上,每个算子都有一个特征值。为此,我们构造了一个有些特别的多项式,并考察了该多项式的根,从而揭示了特征值必然存在。
实际上,特征值与多项式之间存在着更深层次的联系。理解这种联系的一种方式是研究矩阵的特征多项式。这正是我们本节课要探讨的内容。
动机
在深入定义之前,让我们先从一个动机开始。我们讨论的是特征值和特征向量。假设我们有一个 n × n 矩阵 A,并且有一个非零向量 v。假设 v 是特征值 λ 对应的特征向量,那么它满足等式:
A v = λ v
我们已经见过这个等式,我们可以通过将所有项移到等式同一边来重写它,利用线性性质得到:
(A - λ I) v = 0
这里 I 是单位矩阵。这个等式可以描述为:存在一个非零向量 v,它位于线性映射 (A - λ I) 的核中。也就是说,v 在 A - λ I 的核里。
如果存在一个非平凡(非零)向量位于一个线性映射的核中,我们知道对应矩阵的秩必须小于其维度 n。更准确地说,矩阵 A - λ I 的秩必须严格小于 n。如果你不理解这一点,可以回想一个定理:我们总能为原始空间找到一个基,这个基由值域某个基的原像加上核的基构成。因此,如果核非零,矩阵的秩就会减小。
特征多项式的定义
基于上述观察,我们可以引出特征多项式的定义。对于一个 n × n 矩阵 A,其特征多项式 p_A(t) 定义为一个关于变量 t 的多项式,其形式为:
p_A(t) = det(A - t I)
其中 det 表示行列式,I 是 n × n 单位矩阵。这是一个 t 的 n 次多项式。
特征多项式与特征值的关系
特征多项式的核心重要性在于其根与矩阵特征值之间的直接对应关系。具体关系如下:
λ 是矩阵 A 的特征值,当且仅当 λ 是特征多项式 p_A(t) 的根。
换句话说,p_A(λ) = 0。
为什么?
回顾特征值的定义:存在非零向量 v 使得 A v = λ v。这等价于 (A - λ I) v = 0 有非零解。而一个齐次线性方程组有非零解的条件是其系数矩阵的行列式为零,即:
det(A - λ I) = 0
这正是 p_A(λ) = 0。因此,寻找特征值就转化为寻找特征多项式的根。
计算特征多项式:一个例子
为了更好地理解,让我们通过一个简单的例子来计算特征多项式。
假设矩阵 A 为:
A = [ [2, 1],
[0, 3] ]
首先,构造矩阵 A - t I:
A - tI = [ [2-t, 1],
[0, 3-t] ]
接着,计算这个 2×2 矩阵的行列式:
det(A - tI) = (2-t)(3-t) - (1)(0) = (2-t)(3-t)
展开后得到特征多项式:
p_A(t) = t^2 - 5t + 6
这个多项式的根可以通过因式分解求得:
p_A(t) = (t - 2)(t - 3) = 0
因此,根为 t = 2 和 t = 3。这意味着矩阵 A 的特征值是 λ₁ = 2 和 λ₂ = 3。
特征多项式的性质
特征多项式具有几个重要性质,理解它们有助于更深入地把握特征值。
以下是特征多项式的一些关键性质:
- 首一多项式:特征多项式 p_A(t) 是首一多项式,即其最高次项 t^n 的系数为 1。
- 常数项:多项式中的常数项等于矩阵 A 的行列式乘以 (-1)^n。具体地,p_A(0) = det(A)。
- 迹:多项式 t^(n-1) 项的系数是矩阵 A 的迹(即主对角线元素之和)的相反数。
- 相似矩阵:如果两个矩阵 A 和 B 相似(即存在可逆矩阵 P 使得 B = P⁻¹ A P),那么它们具有相同的特征多项式,因此也具有相同的特征值(尽管特征向量可能不同)。
总结
本节课中我们一起学习了特征多项式。我们首先回顾了特征值存在性与多项式根的联系,并由此引出了特征多项式 p_A(t) = det(A - t I) 的定义。我们明确了矩阵的特征值正是其特征多项式的根,这为求解特征值提供了一个强有力的代数工具。通过一个具体例子,我们演示了如何计算特征多项式并求解特征值。最后,我们列举了特征多项式的几个基本性质,包括其与矩阵行列式和迹的关系,以及相似矩阵共享相同特征多项式的事实。理解特征多项式是深入理解矩阵谱理论及其在机器学习中应用的关键一步。
015:矩阵的迹 📐
在本节课中,我们将要学习一个名为“矩阵的迹”的概念。迹是一个用于总结矩阵某些性质的数字,它在机器学习的多个领域中都很有用。
定义
首先,让我们从定义开始。矩阵的迹定义如下:对于一个方阵(即行数和列数相等的矩阵),其迹是该矩阵主对角线上所有元素的和。

我们可以用公式来表示。设矩阵 A 是一个 n x n 的方阵,其元素为 a_ij,其中 i 表示行号,j 表示列号。那么矩阵 A 的迹 tr(A) 定义为:
tr(A) = a_11 + a_22 + ... + a_nn = Σ_{i=1}^{n} a_ii
简单来说,你只需要将矩阵从左上角到右下角对角线上的所有数字加起来。
性质
了解了迹的定义后,我们来看看它的一些重要性质。这些性质解释了为什么迹是一个有用的工具。
性质一:线性算子
迹本身是一个线性算子。这意味着它满足线性运算的两个基本规则:可加性和齐次性。
具体来说,对于任意两个同阶方阵 A 和 B,以及任意标量 c,以下等式成立:
tr(A + B) = tr(A) + tr(B)tr(cA) = c * tr(A)
这个性质很容易理解,因为矩阵相加或数乘时,其对角线元素也相应地相加或相乘,所以它们的和(即迹)也遵循同样的规则。

性质二:循环置换不变性
迹有一个非常独特且有用的性质:对于矩阵的乘积,迹在循环置换下保持不变。
这意味着,对于矩阵 A 和 B,即使矩阵乘法的顺序通常不可交换(即 AB ≠ BA),但它们的迹在循环顺序下是相等的。公式表达如下:
tr(AB) = tr(BA)
这个性质可以推广到更多矩阵的乘积,只要保持循环顺序,迹就不变。例如:
tr(ABC) = tr(BCA) = tr(CAB)
这个性质在简化涉及矩阵乘积的表达式时非常强大。
总结
本节课中我们一起学习了矩阵的迹。我们首先给出了迹的正式定义:方阵主对角线元素之和。接着,我们探讨了它的两个核心性质:它是一个线性算子,并且对于矩阵乘积具有循环置换不变性。理解矩阵的迹是掌握更高级线性代数概念和机器学习算法的基础。
016:对角化与三角矩阵

在本节课中,我们将学习线性代数中一个核心概念——对角化。我们将探讨什么情况下一个线性算子可以被对角化,以及与之相关的三角矩阵的性质。
对角化的定义
上一节我们介绍了特征值和特征向量的概念,本节中我们来看看如何利用它们来简化线性算子的表示。
我们称一个线性算子是可对角化的,如果存在向量空间的一组基,使得该算子在这组基下的矩阵表示是一个对角矩阵。

具体来说,设 T 是定义在向量空间 V 上的一个线性算子。如果存在 V 的一组基 B,使得算子 T 在这组基下的矩阵 A 是一个对角矩阵,那么 T 就是可对角化的。
矩阵 A 的形式如下:
A = [ λ₁ 0 ... 0 ]
[ 0 λ₂ ... 0 ]
[ ... ... ... ... ]
[ 0 0 ... λₙ ]
其中,λ₁, λ₂, ..., λₙ 是对角线上的元素,其余位置均为零。
这意味着,构成这组基 B 的向量恰好是算子 T 的特征向量。因为当我们用矩阵 A 乘以第一个基向量(即第一个特征向量)时,我们得到 λ₁ 乘以该向量本身,这正是特征向量的定义。
可对角化的等价条件
现在,我们总结一下在有限维向量空间中,线性算子可对角化的一些等价条件。理解这些条件有助于我们判断一个算子是否可以被简化。
假设 V 是一个有限维向量空间,T 是 V 上的一个线性算子。那么,以下陈述是等价的:
以下是这些等价陈述的列表:
- T 是可对角化的。
- 存在 V 的一组由 T 的特征向量构成的基。
- V 可以分解为 T 的特征空间的直和。即,如果 λ₁, ..., λₘ 是 T 的所有互异特征值,那么 V 等于所有特征空间 E(λᵢ) 的直和。
- T 的特征多项式的所有根都在标量域中,并且每个特征值的代数重数等于其几何重数。(代数重数是特征多项式根的重数,几何重数是相应特征空间的维数)。

三角矩阵

在探讨对角化的过程中,三角矩阵扮演着重要的角色。并非所有矩阵都能对角化,但一个非常有力的结论是,在复数域上,每个方阵都相似于一个上三角矩阵。
更精确地说,设 T 是有限维复向量空间 V 上的线性算子。那么,存在 V 的一组基,使得 T 在这组基下的矩阵是一个上三角矩阵。

这个定理的证明思路是使用数学归纳法,并巧妙地利用特征值的存在性(在复数域上保证存在)来逐步构造这组基。这个结论是证明许多重要定理(如舒尔分解、谱定理)的基础。
总结

本节课中我们一起学习了线性算子对角化的核心思想。我们首先定义了可对角化的概念,即存在一组特征向量基使得算子矩阵为对角形。然后,我们列出了判断可对角化的几个等价条件,这些条件将特征值、特征空间和重数联系了起来。最后,我们介绍了三角矩阵,了解到在复数域上,任何线性算子至少可以表示为一个上三角矩阵,这为处理更一般的算子提供了有力的工具。理解这些内容是学习后续更高级矩阵分解(如特征分解、奇异值分解)的关键。
017:度量空间

在本节课中,我们将学习度量空间的概念。虽然我们目前处于线性代数的课程中,但理解度量空间是后续引入范数、内积乃至希尔伯特空间的基础。此外,度量在机器学习中应用广泛,例如K近邻算法等。
什么是度量空间?
上一节我们介绍了线性代数的基础,本节中我们来看看度量空间。度量空间的核心是定义了一种“距离”的概念。
首先,我们从一个对象的集合开始。设 X 为任意集合。这个集合可以包含任何东西,例如分子、文本、图像等。
接下来,我们定义一种作用于该空间上的函数,称为度量。一个函数 d,其定义域为 X × X(即取数据点对作为输入),并将其映射到一个实数。这样的函数被称为度量,如果它满足以下条件:

对于空间中所有的 u, v, w,满足以下性质:
以下是度量必须满足的三个核心性质:
-
非负性:度量值总是非负的。两个不同对象之间的距离不应为负,这符合我们的直觉。
- 公式:
d(x, y) ≥ 0 - 并且,当且仅当两点相同时,距离为零。
- 公式:
d(x, y) = 0 ⇔ x = y
- 公式:
- 公式:
-
对称性:从 x 到 y 的距离等于从 y 到 x 的距离。
- 公式:
d(x, y) = d(y, x)
- 公式:
-
三角不等式:两点之间的直接距离,总是小于或等于经过第三点的距离之和。这是“两点之间线段最短”的数学表述。
- 公式:
d(x, z) ≤ d(x, y) + d(y, z)
- 公式:
为什么需要度量空间?
度量空间为我们提供了一种严格的方式来讨论抽象元素之间的“接近”或“相似”程度。在机器学习中,许多算法(如K近邻算法)的核心就是计算数据点之间的距离,以进行分类或预测。因此,理解度量空间是理解这些算法背后数学原理的重要一步。
本节课中我们一起学习了度量空间的定义及其核心性质。我们了解到,度量是一个满足非负性、对称性和三角不等式的距离函数。它为我们在任意集合上讨论几何关系奠定了基础,是连接线性代数与更高级空间概念(如赋范空间、内积空间)的关键桥梁。
018:赋范空间与p-范数
在本节课中,我们将学习赋范空间的概念,并介绍一种重要的范数类型——p-范数。我们将从向量空间出发,定义范数,并探讨其基本性质。
从度量空间到赋范空间

在上一讲中,我们介绍了度量空间。现在,我们将引入赋范空间的概念。

这让我们回到了线性代数的领域,因为要定义一个赋范空间,我们首先需要一个向量空间。
让我们开始吧。
赋范空间的定义
我们定义赋范空间如下。
设 V 是一个向量空间。我们定义一个作用于该向量空间上的函数,这个函数称为范数。
一个向量空间 V 上的赋范空间,或简称 V 上的范数,是一个函数。我们通常用两个双竖线来表示它,即 || · ||。
你可能见过这种表示法,它表示一个向量的范数。如果我们想把它定义为一个函数,有时会这样写:|| · ||,在中间加一个点,这意味着点是放置参数的位置。这是因为我们没有像 f(x) 那样的标准函数记号,所以用这种两边带竖线的特殊记号,并在中间加点来表示这是一个函数。
这个函数从向量空间映射到实数集,直观上,它为每个向量分配一个“长度”。
现在,我们需要这个函数满足一系列性质。

对于向量空间 V 中的所有向量 x、y,以及标量域 F 中的任意标量 λ,必须满足以下四个条件:
-
绝对齐次性:
||λx|| = |λ| * ||x||
直观上,这意味着如果你将向量乘以5,那么新向量的长度应该是原向量长度的5倍。 -
三角不等式:
||x + y|| ≤ ||x|| + ||y||
这个性质保证了向量加法的“长度”不会超过各自长度的和。 -
正定性:
||x|| ≥ 0
向量的长度总是非负的。 -
确定性:
||x|| = 0当且仅当x = 0
只有零向量的长度为零。
引入p-范数

在定义了范数的一般概念后,我们来看一类非常重要且常用的具体范数——p-范数。
对于一个n维向量 x = (x₁, x₂, ..., xₙ),其p-范数定义为:
||x||_p = (|x₁|^p + |x₂|^p + ... + |xₙ|^p)^(1/p)
其中,p 是一个满足 p ≥ 1 的实数。
以下是几种最常见的p-范数:
-
1-范数(曼哈顿范数):
||x||_1 = |x₁| + |x₂| + ... + |xₙ|
它计算向量各分量绝对值的和,得名于城市网格中两点间的行走距离。 -
2-范数(欧几里得范数):
||x||_2 = sqrt(x₁² + x₂² + ... + xₙ²)
这是我们最熟悉的“长度”概念,对应于欧几里得空间中的直线距离。 -
∞-范数(最大值范数):
||x||_∞ = max(|x₁|, |x₂|, ..., |xₙ|)
它取向量所有分量绝对值的最大值。
总结
本节课中,我们一起学习了赋范空间的核心概念。我们从向量空间出发,定义了满足绝对齐次性、三角不等式、正定性和确定性四个条件的范数函数。随后,我们介绍了一类具体的范数——p-范数,并了解了其通用公式 ||x||_p = (Σ|x_i|^p)^(1/p),以及当p取1、2和无穷大时所对应的特殊范数(曼哈顿范数、欧几里得范数和最大值范数)。理解这些概念是学习更高级机器学习算法中优化和正则化等内容的重要数学基础。
机器学习数学:P19:R^d上的范数等价性
在本节课中,我们将学习一个重要的数学定理:在有限维空间(如 R^d)上,所有范数在拓扑意义上是等价的。这意味着,虽然不同的范数(如L1、L2范数)在数值和几何意义上不同,但从序列收敛性等拓扑性质来看,它们的作用是“等价”的。我们将探讨这个定理的含义、证明思路及其对机器学习的启示。

我们之前已经了解了如何在欧几里得空间(例如 R^d)上定义各种范数。


具体来说,我们研究过不同p值下的p-范数。

从纯数学的角度看,人们可能会疑惑为何要定义这么多范数,因为数学家通常会指出:在 R^n 上,所有范数都是等价的。这个说法是正确的,这正是本节课要讨论的定理。
需要在一开始就说明一个注意事项。这里的“等价”是指范数之间可以相互转换,存在连续且有界的变换关系。然而,对于机器学习而言,这些范数并不“等价”,因为它们会给算法引入非常不同的偏差或偏好。因此,尽管从严格的数学拓扑视角看范数是等价的,但当它们被应用到实际算法中时,表现会截然不同。
不过,我们仍然要学习这个定理,因为在机器学习的理论分析中,例如在研究序列收敛性等问题时,知道所有范数在拓扑上等价意味着我们可以在证明时选择最方便操作的范数,而不影响结论的一般性。
以下是定理的正式陈述。

该定理指出:在 R^n 上,所有范数在拓扑意义上是等价的。

“拓扑等价”具体是什么意思呢?其含义是:假设我们有两个范数,分别记为 ||·||_A 和 ||·||_B,它们都定义在 R^n 上。那么,存在两个大于零的常数 c 和 C,使得对于 R^n 中的所有向量 x,以下不等式恒成立:
c * ||x||_B ≤ ||x||_A ≤ C * ||x||_B
定理的核心思想
这个不等式是理解“等价性”的关键。它表明,一个范数下的值可以被另一个范数的值所控制,上下都有界。因此,如果一个向量序列在一种范数下趋近于零(即收敛),那么在另一种范数下它也必然趋近于零。这就保证了收敛性等拓扑性质在所有范数下是一致的。
证明思路简述(针对初学者)

完整的证明涉及一些数学分析技巧,但其核心思想可以概括如下:
- 可以证明,在 R^n 上,任何范数 ||·|| 都是其自变量的连续函数。
- 考虑单位球面 S = {x ∈ R^n | ||x||_2 = 1}(在欧几里得范数下)。这是一个紧致的集合。
- 在紧致集合上,连续函数既能取到最大值,也能取到最小值。
- 因此,我们想要比较的范数 ||·||_A 在单位球面 S 上存在正的最小值 m 和最大值 M。
- 利用范数的齐次性(||αx|| = |α| ||x||),可以将球面上的结论扩展到整个 R^n 空间,从而得到形如 m * ||x||_2 ≤ ||x||_A ≤ M * ||x||_2 的不等式。
- 通过欧几里得范数 ||·||_2 作为“桥梁”,就可以连接任意两个范数 ||·||_A 和 ||·||_B,证明它们满足等价不等式。

对机器学习的意义
尽管范数在数学上等价,但在机器学习实践中,选择不同的范数作为正则化项(如L1正则化、L2正则化)会导致模型具有完全不同的性质:
- L1范数 倾向于产生稀疏解(许多系数为零),可用于特征选择。
- L2范数 倾向于让系数均匀地变小,能有效防止过拟合,但解通常不稀疏。
因此,在算法设计中,范数的选择是基于其诱导的归纳偏差,而不是基于它们在拓扑上的等价性。这个定理的价值在于理论分析层面,它保证了我们在分析算法收敛性等理论性质时,可以自由选择最便于数学处理的范数形式。
总结
本节课我们一起学习了 R^d 上范数的等价性定理。我们了解到,从拓扑学的角度看,有限维空间上的所有范数都是等价的,这意味着它们定义的收敛性等概念是一致的。该定理的关键是一个双边不等式:c * ||x||_B ≤ ||x||_A ≤ C * ||x||_B。我们简述了其证明思路,并重点讨论了该定理对机器学习的启示:理论上的等价性不等于实践中的可互换性。在构建模型时,L1、L2等不同范数正则化项的选择,是基于它们所带来的独特偏差,以实现特征选择或防止过拟合等具体目标。
020:凸集诱导范数 📐

在本节课中,我们将要学习一个重要的概念:范数与凸集之间的双向关系。我们将看到,一个范数的单位球总是一个凸集。更重要的是,一个满足特定对称性的凸集,反过来可以用来定义一个范数。这个原理在机器学习中非常有用,因为它允许我们超越标准的范数,根据特定的“归纳偏好”来构造新的范数。

上一节我们介绍了范数,特别是p-范数。本节中我们来看看范数的单位球与凸集之间的深刻联系。
回顾:凸集的定义


在深入定理之前,我们先回顾一下凸集的定义,以确保概念清晰。


考虑一个实数向量空间 R^D。现在考虑一个集合 S,它是我们向量空间中的一个子集。

定义:集合 S 被称为凸集,当且仅当对于所有介于0和1之间的参数 t(即 0 ≤ t ≤ 1),以及集合中的任意两点 x 和 y,它们的凸组合仍然在集合内。
用公式表示如下:
对于任意 x, y ∈ S 和任意 t ∈ [0, 1],都有:
tx + (1-t)y ∈ S

这个定义意味着,连接集合中任意两点的线段上的所有点,也都属于这个集合。
范数的单位球是凸集
当我们之前研究p-范数时,我们观察了它们的单位球。我们注意到,当 p ≥ 1 时,单位球通常是一个“漂亮”的凸集。而当 0 < p < 1 时,单位球会呈现出一种奇特的、非凸的形状。


这引出了我们的第一个关键观察:任何范数的单位球都是一个凸集。这是由范数的三角不等式和绝对齐次性所保证的性质。



从凸集诱导出范数
更有趣的是,这个过程可以反过来。如果我们有一个满足特定条件的凸集,我们可以用它来定义一个范数。
定理:设 B ⊂ R^D 是一个满足以下条件的凸集:
- 对称性:如果 x ∈ B,那么 -x ∈ B。
- 有界性:B 是有界的。
- 吸收性:对于 R^D 中的任意非零向量 x,都存在某个标量 λ > 0,使得 x ∈ λB(即 x/λ ∈ B)。
- 包含原点:0 ∈ B。



那么,我们可以通过以下方式定义一个函数 ||·||_B : R^D → R:
||x||_B = inf { λ > 0 : x ∈ λB }

这个函数 ||·||_B 是 R^D 上的一个范数,并且 B 恰好是这个范数的单位球(即 { x : ||x||_B ≤ 1 })。


如何理解这个诱导范数
这个定义可以直观地理解为:向量 x 的范数,是使得 x 刚好被“缩放”进凸集 B 所需的最小缩放系数 λ。


以下是这个构造过程的核心步骤:
- 从一个“好”的凸集 B(满足上述四个条件)开始。
- 对于空间中的任何一个向量 x,我们寻找所有能把它“装进”凸集 B 的缩放因子 λ。
- 取这些缩放因子中最小的那个,定义为 x 的范数。


在机器学习中,这个原理非常强大。有时,直接写出一个范数的解析式很困难,但我们可以通过描述一个凸集来隐式地定义它。这个凸集就体现了算法对解空间的“归纳偏好”或先验信念。例如,我们可以设计一个非圆形的凸集,来诱导一个在不同方向上具有不同缩放特性的范数,从而在正则化中施加更复杂、更符合问题结构的约束。

总结


本节课中我们一起学习了范数与凸集之间的对偶关系。
- 首先,我们回顾了凸集的定义:连接集合内任意两点的线段仍包含在集合内。
- 其次,我们确认了任何范数的单位球都是一个凸集。
- 最后,也是最重要的,我们学习了一个定理:一个对称、有界、吸收且包含原点的凸集 B,可以用来诱导出一个范数 ||x||_B。这个范数定义为将向量 x “缩放”进 B 所需的最小系数。

这个结果不仅优美,而且实用。它为我们提供了一种强大的工具,能够根据具体的机器学习任务需求,通过设计合适的凸集来创造定制化的范数,从而更灵活地控制模型的复杂度与性质。
021:连续与可微函数空间 📚

在本节课中,我们将学习如何将函数空间,特别是连续有界函数空间,构建成一个赋范向量空间。我们将定义其上的范数,并验证其性质。


我们已经见过几个赋范空间的例子。
以下是另一组例子,它们由函数空间构成。


让我们从连续函数空间开始。我们已经知道连续函数空间是一个向量空间。

现在,我们想看看如何将其变成一个赋范向量空间。

考虑一个度量空间 T。

或者更一般地说,你也可以考虑一个拓扑空间,但在本讲座中,我们始终假设你处于一个度量空间中。

这是我们的函数定义的空间。


然后我们考虑空间 C(T),它由定义在该空间上的有界函数构成。

所以,C(T) 是所有从 T 映射到 R 的函数的集合。

其中函数 f 是连续且有界的。
注意,要定义函数是否连续,我们需要一个拓扑结构,在我们的情况下是度量。

这是一个简单的函数空间,现在我们想将其变成一个赋范空间。


因此,我们需要在该空间上定义一个范数,然后检查它是否具有我们期望的性质。

所以,作为该空间上的范数。

有时我写这个空间时用花体,有时不用花体。

我们使用上确界范数。

范数定义为 ||f||∞。

函数 f 的 ∞-范数 是其绝对值的上确界。

即函数在所有定义域元素上所取值的绝对值的最大值,如果这个上确界存在的话。


在这种情况下它确实存在,因为我们处于一个有界函数空间中,所以根据定义,所有函数都是有上界的。
为了确保每个人都明白我的意思,我明确写出“有界”的含义。有界意味着存在一个常数 C,使得对于所有 t ∈ T,都有 |f(t)| ≤ C。


总结


本节课中,我们一起学习了如何将连续有界函数空间 C(T) 构建为赋范向量空间。我们定义了其上的上确界范数 ||f||∞ = sup_{t∈T} |f(t)|,并解释了由于函数有界,该范数总是存在的。这为我们研究更复杂的函数空间和分析奠定了基础。
022:Lp空间与可积函数空间

在本节课中,我们将深入探讨可积函数空间,并最终构建在泛函分析和机器学习中都非常重要的Lp空间。理解这些空间的一个关键特性是:Lp空间中的函数并非逐点定义的。这一点非常重要,例如,当我们将Lp函数空间与像再生核希尔伯特空间这样的函数空间进行比较时,后者正是以函数可以良好地逐点求值为核心特性来定义的。


现在,让我们开始介绍可积函数空间。
从连续函数空间出发

在正式介绍之前,我们先从几个例子和注意事项开始。



我们考虑有界连续函数的空间。在有界区间上的连续函数是可积的,我们尝试在这个空间上定义一个范数。

我们尝试定义的范数是函数绝对值的积分。具体来说,对于一个定义在有界区间上的连续函数,其范数可以定义为:
[
|f| = \int |f(x)| , dx
]


这看起来完全合理,我们希望将其作为可积函数空间上的范数。然而,问题在于,在这个范数下,空间是不完备的。这意味着存在一些柯西序列,其极限不在原空间内。

一个不完备性的例子


为了说明这一点,我们构造一个函数序列。假设我们想构造一个收敛到阶梯函数的序列。这个极限函数(例如,在某个点之前为常数0,之后为常数1)是一个有界函数,但它不再是连续的,因此它不属于我们最初考虑的连续函数空间。

我们可以构造一系列连续函数(例如,通过平滑的斜坡连接0和1),使得这个序列在积分范数意义下收敛到那个阶梯函数。由于极限不在连续函数空间中,这就证明了连续函数空间在积分范数下不是完备的。

构建完备的Lp空间
上一节我们看到了连续函数空间在积分范数下的不完备性。本节中,我们将通过一个标准过程来构建完备的空间,即Lp空间。



这个过程的核心思想是:我们从一个“好”的函数集合(如连续函数)出发,考虑所有在这个积分范数下收敛的柯西序列,然后将这些序列的极限点添加到空间中。这样得到的新空间就是完备的。更正式地说,我们通过等价类来定义Lp空间中的元素:两个函数如果只在零测集上不同,则被视为同一个元素。这解释了为什么Lp空间中的函数不是逐点定义的——它们是由几乎处处相等的函数构成的等价类。


对于一个测度空间和参数 ( p \geq 1 ),Lp空间 定义为所有满足以下条件的可测函数 ( f ) 的集合:
[
|f|_p = \left( \int |f(x)|^p , d\mu(x) \right)^{1/p} < \infty
]
其中,( |f|_p ) 称为函数的 Lp范数。
以下是Lp空间的一些关键性质:
- 完备性:每个柯西序列都收敛于空间内的一个函数,这使得Lp空间成为巴拿赫空间。
- 不是逐点定义的:空间中的元素是函数的等价类,这在与要求逐点定义的函数空间(如RKHS)交互时需要特别注意。
- 重要性:Lp空间为分析函数和定义各种范数(如误差度量)提供了强大的框架,在机器学习的理论分析中广泛应用。


总结



本节课中,我们一起学习了Lp空间与可积函数空间。我们首先指出了连续函数空间在简单积分范数下不完备的问题,并通过一个收敛到阶梯函数的序列例子加以说明。接着,我们介绍了通过考虑柯西序列的完备化过程来构建Lp空间的标准方法,并给出了Lp空间的形式化定义及其核心性质。理解Lp空间的完备性及其元素是等价类(非逐点定义)这一特性,对于深入学习机器学习中的泛函分析基础至关重要。
023:内积 ✨
在本节课中,我们将要学习向量空间中的另一个重要结构——内积。上一节我们介绍了赋范向量空间,它允许我们测量向量之间的距离。本节中,我们将更进一步,探讨一种比范数更强的结构,它不仅能测量距离,还能测量向量之间的角度。


从范数到内积

在之前的课程中,我们研究了赋范向量空间。这些向量空间除了向量空间的基本结构外,还拥有一个额外的结构——范数。
范数 是一个函数,它将每个向量映射到一个非负实数,用于衡量向量的“长度”或“大小”。其定义如下:

对于一个向量空间 ( V ),范数是一个函数 ( | \cdot |: V \rightarrow \mathbb{R} ),满足:
- 正定性:对于所有 ( x \in V ),有 ( |x| \geq 0 ),且 ( |x| = 0 ) 当且仅当 ( x = 0 )。
- 齐次性:对于所有 ( x \in V ) 和所有标量 ( \lambda ),有 ( |\lambda x| = |\lambda| |x| )。
- 三角不等式:对于所有 ( x, y \in V ),有 ( |x + y| \leq |x| + |y| )。
通过范数,我们可以在向量空间中测量距离,例如,两个向量 ( x ) 和 ( y ) 之间的距离可以定义为 ( |x - y| )。


现在,我们希望更进一步,考虑一种被称为内积空间的向量空间。内积是一种比范数更强的结构。具体来说,它不仅可以用来测量距离,还可以用来测量向量空间中的角度。

内积的定义

让我们像往常一样,从定义开始。我们考虑一个向量空间 ( V )。
现在,我们说我们考虑一个映射。这个映射写作:


[
\langle \cdot, \cdot \rangle: V \times V \rightarrow \mathbb{R}
]
所以,内积将被写成这种括号形式,例如 ( \langle x, y \rangle ) 表示向量 ( x ) 和 ( y ) 的内积。这是一个以两个向量作为输入的函数,定义在空间 ( V \times V ) 上,其值域是实数集 ( \mathbb{R} )。

这个映射被称为内积,如果它满足以下几个性质。

以下是内积必须满足的性质:

- 对第一个参数的线性性:
- 加法:对于所有 ( x_1, x_2, y \in V ),有 ( \langle x_1 + x_2, y \rangle = \langle x_1, y \rangle + \langle x_2, y \rangle )。
- 标量乘法:对于所有 ( x, y \in V ) 和所有标量 ( \lambda \in \mathbb{R} ),有 ( \langle \lambda x, y \rangle = \lambda \langle x, y \rangle )。
这本质上是对第一个参数的线性性。由于对称性(下一条性质),这个性质也自然地扩展到第二个参数。

-
对称性:对于所有 ( x, y \in V ),有 ( \langle x, y \rangle = \langle y, x \rangle )。
-
正定性:对于所有 ( x \in V ),有 ( \langle x, x \rangle \geq 0 ),且 ( \langle x, x \rangle = 0 ) 当且仅当 ( x = 0 )。

内积与范数的关系

一个配备了内积的向量空间自动成为一个赋范向量空间。我们可以从内积自然地诱导出一个范数:
[
|x| = \sqrt{\langle x, x \rangle}
]


这个范数满足之前提到的所有范数公理。更重要的是,通过内积,我们可以定义两个非零向量 ( x ) 和 ( y ) 之间的夹角 ( \theta ):
[
\cos \theta = \frac{\langle x, y \rangle}{|x| |y|}
]

这为我们提供了在向量空间中量化“方向相似性”或“正交性”(当内积为0时)的工具。


总结

本节课中我们一起学习了内积的概念。我们首先回顾了赋范向量空间,然后引入了更强大的内积结构。内积是一个从向量空间 ( V ) 的笛卡尔积到实数 ( \mathbb{R} ) 的映射,它必须满足线性性(对第一个参数,并由对称性扩展到第二个参数)、对称性和正定性。内积不仅允许我们通过诱导的范数来测量长度和距离,还使我们能够定义和计算向量之间的角度,这是许多机器学习算法(如主成分分析、支持向量机等)的核心几何基础。
024:正交向量与正交基 🔍
在本节课中,我们将要学习如何使用内积来定义向量空间中的正交性。我们将从两个向量正交的定义开始,然后扩展到集合和子空间的正交性,最后介绍正交基的概念。

上一节我们介绍了内积是什么,本节中我们来看看如何使用它。
内积通常用于测量向量空间中的角度,特别是用于定义两个向量何时相互正交。



让我们开始吧。
假设我们处在一个具有内积的向量空间中,即一个预希尔伯特空间。

考虑一个预希尔伯特空间 V。


以下是两个向量正交的定义。

定义:空间 V 中的两个向量 v₁ 和 v₂ 被称为正交的,当且仅当它们的内积为零。

公式表示为:
⟨v₁, v₂⟩ = 0

这是内积的主要用途之一。当两个向量的内积为0时,我们称这两个向量正交。

有时我们使用符号 v₁ ⟂ v₂ 来表示正交。这不是完全标准的符号,但被广泛使用。

现在我们知道了两个向量何时正交,接下来我们可以定义两个向量集合何时正交。

以下是两个集合正交的定义。
定义:设 V₁ 和 V₂ 是向量空间 V 的两个子集。如果对于 V₁ 中的所有向量 v₁ 和 V₂ 中的所有向量 v₂,都有 ⟨v₁, v₂⟩ = 0,则称这两个集合是正交的。


这通常应用于子空间。如果两个子空间满足上述要求,我们称这两个子空间是正交的。

接下来,我们介绍一个非常重要的概念:正交基。


在上一节中,我们讨论了基向量。现在,我们引入一个更强的条件:正交基。
定义:向量空间 V 的一个基 B = (b₁, ..., bₙ) 被称为正交基,如果基中的所有向量都是两两正交的。

这意味着对于所有 i ≠ j,都有:
⟨bᵢ, bⱼ⟩ = 0


正交基是一个非常有用的概念,因为它能极大地简化许多计算,例如坐标的求解。
最后,我们总结一下本节课的核心内容。

本节课中我们一起学习了:
- 正交向量:两个向量正交当且仅当它们的内积为零。
- 正交集合/子空间:两个集合(通常是子空间)正交,当且仅当其中一个集合中的任意向量与另一个集合中的任意向量的内积都为零。
- 正交基:一个基被称为正交基,如果其所有基向量都是两两正交的。


理解正交性是深入学习线性代数和机器学习中许多算法(如主成分分析、傅里叶变换等)的基础。
025:正交矩阵 🔄


在本节课中,我们将要学习一种特殊的矩阵——正交矩阵。我们已经了解了向量正交以及正交基的含义,现在来看看由这些向量构成的矩阵具有哪些美妙的性质。

正交矩阵的定义


上一节我们介绍了正交基的概念,本节中我们来看看如何用矩阵来描述一组正交向量。


假设我们有一个矩阵 Q,它属于 R^(n×n) 空间(即一个 n 行 n 列的实矩阵)。如果这个矩阵的所有列向量都彼此正交,那么这样的矩阵被称为正交矩阵。


更具体地说,对于矩阵 Q 的任意两个不同的列向量 q_i 和 q_j,它们满足:
<q_i, q_j> = 0 (当 i ≠ j 时)


这里的 <·, ·> 表示欧几里得内积(点积)。除非特别说明,我们在 R^n 中讨论内积时,默认指的就是欧几里得内积。


标准正交矩阵

如果矩阵 Q 不仅所有列向量彼此正交,而且每个列向量的长度(范数)都为 1,即满足:
<q_i, q_i> = 1 (对所有 i)
那么这样的矩阵被称为标准正交矩阵。

在复数域 C 上,我们讨论的是标准复值内积(需要取复共轭),满足上述条件的矩阵则被称为酉矩阵。



正交矩阵的性质


正交矩阵和标准正交矩阵是线性代数中性质极好的一类矩阵。以下是它们的一些核心特性:


- 保持内积和长度:正交矩阵的线性变换不改变向量的内积和长度。这意味着,对于任意向量 x 和 y,有 <Qx, Qy> = <x, y>,且 ||Qx|| = ||x||。这在几何上表示旋转或反射变换。
- 逆矩阵易得:对于正交矩阵 Q,其逆矩阵等于其转置矩阵,即 Q^(-1) = Q^T。对于酉矩阵,其逆矩阵等于其共轭转置,即 U^(-1) = U^H。这使得求逆运算变得非常简单。
- 行列式的值:正交矩阵的行列式值只能是 +1 或 -1。+1 对应纯粹的旋转变换,-1 对应包含反射的变换。


总结


本节课中我们一起学习了正交矩阵与标准正交矩阵(在复数域称为酉矩阵)的定义。我们了解到,这类矩阵的列向量构成一组正交(或标准正交)基。由于其列向量的特殊关系,正交矩阵拥有保持向量长度和内积、逆矩阵等于转置矩阵等优良性质,在几何变换和数值计算中扮演着至关重要的角色。
026:对称矩阵 🔄

在本节课中,我们将要学习一种在机器学习和线性代数中非常重要的矩阵类型——对称矩阵。我们将从定义开始,探讨其基本性质,并最终揭示其核心的谱分解定理。
我们已经了解了一类性质特别好的矩阵,即正交矩阵。现在,我们将研究其他同样性质良好的矩阵类型。第一种显而易见的“好”矩阵就是对称矩阵,仅从外观上看它就很规整。更重要的是,我们可以证明从谱(即特征值)的角度来看,它同样非常“好”,因为它拥有一个非常优美的谱分解。让我们开始吧。
对称矩阵的定义
首先,我们需要明确什么是对称矩阵。


一个矩阵 A ∈ ℝⁿˣⁿ 被称为对称矩阵,当且仅当 A 等于其转置矩阵 Aᵀ。



用公式表示为:
A = Aᵀ

这意味着矩阵的元素满足 Aᵢⱼ = Aⱼᵢ,即矩阵关于主对角线对称。

在复数域上,对应的概念是厄米特矩阵。一个矩阵 A ∈ ℂⁿˣⁿ 被称为厄米特矩阵,当且仅当 A 等于其共轭转置矩阵 Aᴴ。

用公式表示为:
A = Aᴴ

这不仅仅是关于主对角线反射,还需要对每个元素取复共轭。有时这类矩阵也被称为自伴矩阵,我们将在后续更广义的算子理论中定义它。

厄米特矩阵的特征值性质
关于厄米特矩阵,我们首先要提出的一个关键命题是:


命题:对于任意一个 ℂⁿˣⁿ 上的厄米特矩阵,其所有特征值都是实数。


这一点需要特别注意,因为在一般情况下并非如此。我们知道,在复数域 ℂ 上,矩阵总是可以通过一组基(特征向量)进行对角化。但对于厄米特矩阵,这个对角化过程会产生一个由实数构成的对角矩阵(即特征值矩阵)。

对称矩阵的谱定理
上一节我们介绍了对称矩阵和厄米特矩阵的基本定义及其特征值性质。本节中,我们来看看对称矩阵最核心、最强大的性质——谱定理。


谱定理是线性代数中一个非常优美且实用的结论。它指出,任何实对称矩阵都可以被一个正交矩阵对角化。这意味着对称矩阵不仅拥有实特征值,其对应的特征向量还可以构成一组标准正交基。
以下是谱定理的正式表述:


谱定理:设 A ∈ ℝⁿˣⁿ 是一个对称矩阵。那么存在一个正交矩阵 Q ∈ ℝⁿˣⁿ 和一个实对角矩阵 Λ ∈ ℝⁿˣⁿ,使得:
A = Q Λ Qᵀ

其中,对角矩阵 Λ 的对角线元素是 A 的特征值 λ₁, λ₂, ..., λₙ,而正交矩阵 Q 的列向量就是对应的单位特征向量 q₁, q₂, ..., qₙ。

用代码块可以更清晰地表示这个分解过程:
# 假设 A 是一个对称矩阵
# 谱分解:A = Q * Lambda * Q.T
Lambda = np.diag([lambda_1, lambda_2, ..., lambda_n]) # 特征值对角矩阵
Q = np.column_stack([q_1, q_2, ..., q_n]) # 特征向量组成的正交矩阵
# 验证:A ≈ Q @ Lambda @ Q.T
这个定理有以下几个重要含义和应用:
- 完全可对角化:对称矩阵总是可以对角化,并且是通过正交变换实现的。这比一般矩阵的相似对角化条件(需要n个线性无关的特征向量)更强。
- 特征向量的正交性:属于不同特征值的特征向量自动正交。即使有重特征值,我们也能从中选取出一组正交的特征向量。
- 主轴定理:在几何上,这对应着将二次型 xᵀAx 通过正交变换 x = Qy 化为标准形 yᵀΛy,即消除了交叉项。这在优化和多元统计中至关重要。
- 矩阵函数的计算:计算对称矩阵的幂、指数函数(如
exp(A))等变得非常简单,因为 Aᵏ = Q Λᵏ Qᵀ,而 Λᵏ 只需对每个对角元(特征值)求幂即可。


总结


本节课中我们一起学习了对称矩阵。我们从其定义出发,了解了实数域上的对称矩阵和复数域上的厄米特矩阵。我们证明了厄米特矩阵的特征值均为实数。最后,我们深入探讨了对称矩阵的核心——谱定理,该定理表明任何实对称矩阵都可以通过正交变换对角化,其特征向量构成一组标准正交基。这个性质使得对称矩阵在理论分析和实际计算中都极为方便和强大,是机器学习中许多算法(如主成分分析PCA、谱聚类等)的数学基础。
027:对称矩阵的谱定理 🔬


在本节课中,我们将要学习对称矩阵的谱定理。这是关于对称矩阵最重要的定理,在机器学习中至关重要。如果没有这个定理,许多方法将无法成立。


概述
上一节我们介绍了对称矩阵,并看到了其谱(即特征值集合)的一些初步良好性质。本节中,我们将深入探讨并证明对称矩阵的谱定理。



对称矩阵的已知性质

以下是关于对称矩阵我们已经了解的两个关键性质:


- 特征值为实数:即使矩阵作用于复数向量空间(即埃尔米特矩阵),其特征值也全部是实数。用公式表示,若矩阵 A 满足 A = A^T(实数域)或 A = A^H(复数域,即共轭转置),则其特征值 λ 满足 λ ∈ ℝ。
- 不同特征值对应的特征向量正交:这个性质不仅适用于复数向量空间,同样适用于实数向量空间。即,若 λ_i ≠ λ_j,则其对应的特征向量 v_i 和 v_j 满足 v_i^T v_j = 0(实数域)或 v_i^H v_j = 0(复数域)。
此外,我们已经知道,对称矩阵至少有一个特征值和对应的特征向量。



谱定理的陈述与证明



现在,我们来证明被称为对称矩阵谱定理的重要结论。


定理(谱定理):一个在实数域上的 n × n 对称矩阵 A(即 A ∈ ℝ^{n×n} 且 A = A^T)是正交可对角化的。

这意味着存在一个由正交矩阵 Q 和对角矩阵 Λ 进行的分解:
A = Q Λ Q^T
其中:
- Q 的列由 A 的标准正交特征向量组成,即 Q^T Q = I。
- Λ 是一个对角矩阵,其对角线元素是 A 的实特征值。




这个定理的核心在于,我们总能找到一组完整的、相互正交的特征向量作为 ℝ^n 空间的一组标准正交基,从而将矩阵 A 简洁地表示为在上述基下的伸缩变换。
总结



本节课中,我们一起学习了对称矩阵的谱定理。我们首先回顾了对称矩阵的特征值均为实数,且不同特征值对应的特征向量相互正交的性质。随后,我们正式陈述并解释了谱定理:任何实对称矩阵都可以被一个正交矩阵对角化。这个定理是理解许多机器学习算法(如主成分分析PCA)中矩阵分解的基石。
机器学习数学:A27:正定矩阵 📈

在本节课中,我们将要学习机器学习中另一类非常重要的矩阵:正定矩阵与半正定矩阵。我们已经了解了正交矩阵和对称矩阵,现在来看看这类在机器学习(例如核方法与协方差矩阵)中扮演核心角色的矩阵。


定义


我们从定义开始。一个 n × n 的矩阵 A 被称为正定矩阵(有时缩写为 PD),如果对于所有非零向量 x ∈ ℝⁿ,都有以下性质成立:


xᵀ A x > 0

一个矩阵 A 被称为半正定矩阵,如果对于所有非零向量 x ∈ ℝⁿ,满足:



xᵀ A x ≥ 0

正定与半正定的唯一区别就在于这个不等式是严格的(>)还是非严格的(≥)。
格拉姆矩阵



最重要的一类正定矩阵与格拉姆矩阵有关,它在机器学习中也与协方差矩阵紧密相连。我们首先定义格拉姆矩阵。
一个 n × n 的矩阵 A 被称为格拉姆矩阵,如果存在一组向量 v₁, …, vₙ ∈ ℝᵐ,使得矩阵的每个元素 Aᵢⱼ 由这些向量的内积给出:

Aᵢⱼ = vᵢᵀ vⱼ


换句话说,格拉姆矩阵记录了给定向量集中所有向量对之间的内积。


总结


本节课我们一起学习了正定矩阵与半正定矩阵的核心定义,并介绍了与之密切相关的格拉姆矩阵。理解这些矩阵的性质对于掌握后续的优化算法、核方法等机器学习核心概念至关重要。
029:特征值的变分刻画 🔍

在本节课中,我们将学习特征值和特征向量的另一种刻画方式,即瑞利商。这种方法对于对称矩阵尤其有用,并且是理解谱聚类等机器学习算法背后数学原理的重要工具。
在之前的课程中,我们已经多次见到特征值,也学习了定义矩阵特征向量和特征值的不同方法。

标准定义是:特征向量是一个向量,当矩阵作用于该向量时,结果只是该向量自身的倍数。我们也可以通过特征多项式来定义,即特征值是特征多项式的根。
现在,我们将展示另一种刻画特征向量和特征值的方法,这种方法对于对称矩阵特别有意义。
这个工具被称为瑞利商。它是一个非常有用的性质,常用于处理与特征向量和特征值相关的优化问题。通过操作和重写这些问题,我们可以推导出求解它们的算法。一个典型的应用案例是谱聚类,在机器学习中还有许多其他应用。
定义瑞利商 📝

和往常一样,让我们从一个定义开始。


我们从一个对称矩阵开始,设 A ∈ ℝ^(n×n) 是一个对称矩阵。

现在,我们考虑一个特定的函数。我们考虑函数 R_A(瑞利商),它从 ℝ^n \ {0} 映射到实数 ℝ。
函数的输入是一个向量 x,输出是 x^T A x 除以 x^T x。

R_A(x) = (x^T A x) / (x^T x)

这被称为瑞利商。

到目前为止,这只是一个定义。我们可能还不清楚为什么要研究这个对象,但希望接下来的几个命题能使其变得清晰。
命题一:瑞利商的极值与特征值 🎯
第一个要展示的命题是:对称矩阵 A 的瑞利商的最大值和最小值分别等于其最大和最小特征值。
更具体地说,设 λ_max 和 λ_min 分别是矩阵 A 的最大和最小特征值,那么对于所有非零向量 x,有:
λ_min ≤ R_A(x) ≤ λ_max

并且,当 x 是对应于 λ_max 的特征向量时,R_A(x) 取得最大值 λ_max;当 x 是对应于 λ_min 的特征向量时,R_A(x) 取得最小值 λ_min。


这个命题揭示了瑞利商与特征值之间的深刻联系:通过优化瑞利商,我们可以找到矩阵的主特征向量(对应最大特征值)和最小特征向量。


命题二:特征值的变分刻画 🔄

基于命题一,我们可以给出特征值的一个变分刻画(也称为极小极大原理)。
对于对称矩阵 A,其第 k 大的特征值 λ_k 可以通过以下方式得到:

λ_k = min_{dim(S)=k} max_{x∈S, x≠0} R_A(x)

其中,S 是 ℝ^n 的任意一个 k 维子空间。这个公式的意思是:先在所有 k 维子空间 S 中,找到使瑞利商最大值最小的那个子空间,这个最小值就是 λ_k。

等价地,也有一个极大极小刻画:

λ_k = max_{dim(S)=n-k+1} min_{x∈S, x≠0} R_A(x)
这些变分刻画将寻找特征值的问题,转化为在一系列子空间上优化瑞利商的问题。这为许多数值算法(如幂迭代法、Lanczos算法)提供了理论基础。


为什么这对机器学习重要? 🤖

瑞利商的变分性质在机器学习中至关重要,原因如下:

以下是几个关键应用场景:
- 主成分分析:PCA的目标是找到数据方差最大的方向。这等价于寻找样本协方差矩阵(一个对称矩阵)的最大特征值对应的特征向量。通过最大化瑞利商,可以推导出PCA的求解过程。
- 谱聚类:在谱聚类中,我们需要找到图拉普拉斯矩阵的倒数第二个最小特征值对应的特征向量(Fiedler向量)。这可以通过求解一个与瑞利商相关的优化问题来实现,即最小化一个规范化的切图代价。
- 低秩近似:寻找最佳低秩矩阵近似(例如在推荐系统中)也涉及到奇异值分解,而奇异值问题可以转化为对称矩阵的特征值问题,进而利用瑞利商的性质。
- 算法推导:瑞利商的稳定点(梯度为零的点)就是特征向量。这一性质被用于设计迭代算法来求解特征值和特征向量,这些算法在大型机器学习模型中非常高效。
总结 📚


本节课我们一起学习了特征值的变分刻画。

我们首先定义了对称矩阵的瑞利商 R_A(x) = (x^T A x) / (x^T x)。接着,我们探讨了它的关键性质:瑞利商的最大值和最小值分别等于矩阵的最大和最小特征值,且极值点在对应的特征向量处达到。

最后,我们介绍了基于瑞利商的特征值变分刻画(极小极大原理),它将特征值问题转化为一系列子空间上的优化问题。我们探讨了这一理论在主成分分析、谱聚类等核心机器学习算法中的根本重要性。理解这一工具,有助于我们更深入地掌握许多机器学习模型背后的数学原理。
030:奇异值分解 (SVD) 🔍

在本节课中,我们将要学习线性代数中一个极其重要的概念——奇异值分解。对于机器学习而言,几乎没有比奇异值分解更重要的定理了。


从特征分解到奇异值分解

上一节我们介绍了矩阵的特征分解。我们已经知道,如果一个矩阵“足够好”(例如是对称矩阵),我们总可以找到一组由特征向量构成的正交基,并对该矩阵进行对角化。

然而,这个结论仅适用于“足够好”的矩阵。现实中,许多矩阵并不“好”。它们可能甚至不是方阵。对于非方阵,我们甚至没有定义其特征值是什么。即使是方阵,其特征值也可能是复数,或者其特征向量可能彼此不正交。因此,对于许多矩阵,我们无法找到一个简洁的特征分解。
解决这个问题的一个方案就是奇异值分解。它是一种比特征向量分解更通用的分解方法,但服务于相似的目的——揭示矩阵的内在结构。
奇异值分解的定义


让我们直接写出奇异值分解的数学表述。



命题:考虑一个矩阵 A ∈ ℝ^(m×n)。这意味着矩阵 A 可以是矩形的,不一定是方阵。矩阵的秩 r 满足 r ≤ min(m, n)。

那么,我们可以将矩阵 A 分解为以下形式:
A = U Σ V^T


其中:
- U 是一个 m × m 的方阵。
- Σ 是一个 m × n 的矩阵,其结构特殊,我们稍后详述。
- V 是一个 n × n 的方阵。


更重要的是,矩阵 U 和 V 都是正交矩阵,即 U^T U = I_m 且 V^T V = I_n。矩阵 Σ 是一个“对角”矩阵,但其对角线元素(称为奇异值)是非负实数,并按从大到小的顺序排列。

核心概念与结构


以下是奇异值分解中各个组成部分的详细说明:

- 奇异值 (σ):矩阵 Σ 对角线上的元素 σ₁, σ₂, ..., σᵣ(r 为矩阵 A 的秩)。它们满足 σ₁ ≥ σ₂ ≥ ... ≥ σᵣ > 0。奇异值揭示了矩阵 A 在主要方向上的“拉伸”强度。
- 左奇异向量:矩阵 U 的列向量 (u₁, u₂, ..., u_m) 称为左奇异向量。它们构成了 ℝ^m 空间的一组正交基。
- 右奇异向量:矩阵 V 的列向量 (v₁, v₂, ..., v_n) 称为右奇异向量。它们构成了 ℝ^n 空间的一组正交基。
矩阵 Σ 的具体结构如下:其左上角是一个 r × r 的对角矩阵,对角线元素为奇异值,其余元素均为 0。
Σ = [ diag(σ₁, σ₂, ..., σᵣ) 0
0 0 ]



几何意义与应用


奇异值分解具有清晰的几何解释。任何矩阵 A 表示的线性变换,都可以被分解为三个连续的变换:
- 在 ℝ^n 空间中的旋转/反射 (V^T)。
- 沿着坐标轴方向进行缩放 (Σ),缩放因子就是奇异值。
- 在 ℝ^m 空间中的旋转/反射 (U)。

这种分解在机器学习中应用广泛,例如:
- 主成分分析 (PCA): PCA 实际上是数据协方差矩阵的奇异值分解(或特征分解)。
- 数据压缩与降维:通过保留最大的前 k 个奇异值及其对应的奇异向量,可以实现对矩阵(如图像、推荐系统矩阵)的低秩近似。
- 推荐系统:在协同过滤中,SVD 用于分解用户-物品评分矩阵,从而预测未知评分。
- 自然语言处理:潜在语义分析 (LSA) 利用 SVD 来发现文档和词语之间的潜在主题。


总结


本节课中,我们一起学习了奇异值分解。我们首先回顾了特征分解的局限性,然后引出了适用于任意矩阵(包括非方阵)的奇异值分解。我们详细定义了其数学形式 A = U Σ V^T,并解释了其中奇异值、左奇异向量和右奇异向量的核心概念。最后,我们探讨了其几何意义及其在机器学习中的关键应用。奇异值分解是理解和处理高维数据的强大工具。
031:秩-k近似与矩阵范数 📊

在本节课中,我们将要学习如何用更简单的矩阵来近似一个大型矩阵,这是机器学习中一个非常常见的任务。我们将理解“秩”的概念,并学习如何使用奇异值分解(SVD)来实现这种近似,即“秩-k近似”。


问题背景:为什么需要近似矩阵? 🤔
在机器学习中,我们经常遇到非常大的矩阵,其中充满了数据条目。处理这样的矩阵非常困难,甚至存储它们都是一个挑战。



例如,一个电影评分矩阵,其行数等于电影数量,列数等于用户数量。这个矩阵可能达到百万行乘以百万列的规模。

为了降低问题的复杂性,一个核心思路是:用一个结构更简单的矩阵来近似这个大型矩阵。这类似于用一条直线(线性函数)去拟合空间中的许多数据点,从而用更简单的模型来描述复杂的数据。


核心概念:矩阵的秩与简单性 🧮
要衡量一个矩阵的“简单性”,一个关键指标是它的秩。


- 秩为1的矩阵:如果我们知道了这个矩阵的一列,那么其他所有列都只是这一列的倍数。整个矩阵的信息量很低。
- 秩为k的矩阵:如果我们知道了这个矩阵的k个线性无关的列,我们就基本上知道了整个矩阵的结构。


因此,用低秩矩阵去近似高秩矩阵,是降低数据复杂性的有效方法。


解决方案:基于奇异值分解的秩-k近似 🛠️



在定义如何近似之前,我们需要一个标准来衡量近似的“好坏”。这通常通过矩阵范数(如弗罗贝尼乌斯范数)来衡量两个矩阵之间的差异。
奇异值分解为我们提供了实现最优秩-k近似的直接方法。


给定一个矩阵 A,其奇异值分解为:
A = U Σ V^T

其中 Σ 是一个对角矩阵,其对角线元素是奇异值 σ₁ ≥ σ₂ ≥ ... ≥ σᵣ > 0。

那么,对于给定的秩 k(k < r),矩阵 A 在弗罗贝尼乌斯范数(或谱范数)意义下的最佳秩-k近似 Aₖ 可以通过以下方式构造:


- 取奇异值矩阵 Σ,仅保留前 k 个最大的奇异值,将其余的奇异值置零,得到新矩阵 Σₖ。
- 用 Σₖ 重构近似矩阵:
Aₖ = U Σₖ V^T

这个近似矩阵 Aₖ 的秩恰好为 k,并且是所有秩为 k 的矩阵中,与原始矩阵 A “最接近”的那个。


总结 📝


本节课我们一起学习了秩-k近似。
- 我们首先了解了在机器学习中,用简单矩阵近似大型矩阵的必要性。
- 接着,我们引入了矩阵的秩作为衡量矩阵复杂度的关键概念。
- 最后,我们介绍了基于奇异值分解的最佳秩-k近似方法:通过保留最大的 k 个奇异值并截断其余部分,我们可以高效地得到一个最优的低秩近似矩阵 Aₖ。


这种方法在数据压缩、去噪、推荐系统等领域有着广泛的应用。
032:矩阵的伪逆 🔢

在本节课中,我们将要学习矩阵的伪逆。这是一种在矩阵不可逆或非方阵时,依然能提供类似逆矩阵功能的强大工具。我们将从定义开始,然后探讨它与奇异值分解的关系,并了解其在机器学习(如线性回归)中的应用。

上一节我们介绍了如何使用奇异值分解来近似一个大矩阵。本节中,我们来看看奇异值分解的一个完全不同的用途。
假设你有一个矩阵,你希望求它的逆,但可能无法做到。这可能是因为它是一个矩形矩阵,其逆矩阵本身就没有定义;也可能是因为该矩阵根本不可逆。许多矩阵都是不可逆的。

但在许多应用中,要求一个逆矩阵可能过于严格。有时,我们满足于一个稍弱的概念。在机器学习和统计学中,最典型的例子就是线性最小二乘回归。

如果你想解决一个最小二乘回归问题,并且你的设计矩阵(所有系数的矩阵)是可逆的,那么一切都很顺利。你可以解析地写出解,其中就涉及矩阵的逆。
现在,如果那个矩阵不可逆,这确实很麻烦。但在这种情况下,你并不需要真正的逆矩阵,你可以使用一个更简单的构造。它不像逆矩阵那样“强大”,但具有足以保证我们所需结果的特性。
这样的工具被称为伪逆。在本节课中,我将定义什么是伪逆。伪逆有很多不同的构造方法,但这是我们通常使用的一种,至少我在机器学习中经常使用它——摩尔-彭罗斯伪逆。

我将首先定义它,然后向你展示它与奇异值分解的关系。


伪逆的定义
我们从定义开始。这是一个有点抽象的定义,就像我们定义行列式时,说“存在一个具有以下性质的线性映射”。这里我们说,“存在一个具有以下性质的矩阵”。
对于一个矩阵 A(它甚至可能不是方阵,即大小为 ( m \times n )),其伪逆,记作 A⁺,被定义为满足以下四个条件的矩阵:


以下是伪逆必须满足的四个彭罗斯条件:

- A A⁺ A = A
- A⁺ A A⁺ = A⁺
- (A A⁺)^T = A A⁺ (即 A A⁺ 是对称矩阵)
- (A⁺ A)^T = A⁺ A (即 A⁺ A 是对称矩阵)

对于任意矩阵 A,满足这些条件的矩阵 A⁺ 是存在且唯一的。如果 A 本身是可逆的方阵,那么它的伪逆 A⁺ 就等于其常规的逆矩阵 A⁻¹。

通过奇异值分解计算伪逆

上一节我们定义了伪逆,本节中我们来看看如何实际计算它。奇异值分解为此提供了一种优雅的方法。
假设矩阵 A 的奇异值分解为:
A = U Σ V^T
其中:
- U 是 ( m \times m ) 的正交矩阵。
- Σ 是 ( m \times n ) 的对角矩阵(更准确地说,是矩形对角矩阵),其对角线上的元素是奇异值 ( σ_1, σ_2, ..., σ_r )(r 是矩阵的秩),其余元素为零。
- V 是 ( n \times n ) 的正交矩阵。
那么,矩阵 A 的伪逆 A⁺ 可以通过以下公式计算:
A⁺ = V Σ⁺ U^T


这里,Σ⁺ 是 Σ 的伪逆。它是一个 ( n \times m ) 的矩阵,通过以下方式得到:取 Σ,将其非零的奇异值 ( σ_i ) 替换为它们的倒数 ( 1/σ_i ),然后进行转置。

用代码可以更清晰地描述这个过程:

import numpy as np
def compute_pseudoinverse_svd(A):
"""
使用SVD计算矩阵A的伪逆。
"""
# 1. 计算SVD
U, S, Vt = np.linalg.svd(A, full_matrices=False)
# S是一维数组,包含奇异值
# 2. 构建Sigma的伪逆Sigma_plus
# 将非零奇异值替换为其倒数,零奇异值保持为零
S_plus = np.zeros(S.shape)
# 避免除以零
threshold = 1e-10
S_plus[S > threshold] = 1 / S[S > threshold]
# 3. Sigma_plus 需要是一个对角矩阵,用于计算
# 因为SVD返回的是向量,我们这里直接使用向量乘法
# A_plus = V * diag(S_plus) * U^T
A_plus = Vt.T @ np.diag(S_plus) @ U.T
return A_plus
# 示例
A = np.array([[1, 2], [3, 4], [5, 6]])
A_plus = compute_pseudoinverse_svd(A)
print("矩阵 A:")
print(A)
print("\n伪逆 A⁺:")
print(A_plus)
# 验证第一个彭罗斯条件:A A⁺ A ≈ A
print("\n验证 A A⁺ A ≈ A:")
print(A @ A_plus @ A)


伪逆在线性回归中的应用

现在我们已经知道如何计算伪逆,本节中我们来看看它在机器学习中的一个核心应用:求解线性最小二乘问题。

在线性回归中,我们试图找到参数向量 θ,使得 ( | y - Xθ |^2 ) 最小化,其中 X 是设计矩阵,y 是目标向量。

当 X^T X 可逆时,最优解为:
θ = (X^T X)^{-1} X^T y*
然而,当 X^T X 奇异(不可逆)时,例如在特征共线或样本数少于特征数的情况下,这个公式失效。此时,我们可以使用伪逆来得到最小范数最小二乘解。
最优解可以统一地写为:
θ = X⁺ y*

其中 X⁺ 是设计矩阵 X 的伪逆。这个解具有两个重要性质:
- 它使残差平方和 ( | y - Xθ |^2 ) 最小化。
- 在所有能最小化残差平方和的解中,θ* 的欧几里得范数 ( | θ | ) 是最小的。


总结

本节课中我们一起学习了矩阵的伪逆。

- 我们首先了解了伪逆的概念,它是在矩阵不可逆或为非方阵时,对标准逆矩阵的一种推广,由四个彭罗斯条件唯一定义。
- 接着,我们探讨了伪逆与奇异值分解的紧密联系:通过 SVD 可以优雅而稳定地计算出任何矩阵的伪逆。
- 最后,我们看到了伪逆在机器学习中的关键应用,即求解线性最小二乘问题。当正规方程中的矩阵不可逆时,使用设计矩阵的伪逆 X⁺ 可以直接给出最小范数最小二乘解 θ = X⁺ y*。

伪逆是一个强大的数学工具,它帮助我们在面对病态或非方阵系统时,依然能找到有意义的、数值稳定的解。
033:连续线性泛函与算子范数 📐




在本节课中,我们将要学习泛函分析中的一些核心概念,特别是连续线性泛函与算子范数。这些概念对于深入理解机器学习算法(尤其是核方法)背后的数学原理至关重要。
上一节我们介绍了线性映射的基本性质。本节中我们来看看当向量空间是无限维时,情况会发生哪些有趣的变化。




从有限维到无限维的转变 🔄



在有限维向量空间中,线性映射的性质非常良好。例如,任何线性映射都是连续的;如果一个线性映射是单射,那么它也是满射。这些性质使得有限维空间上的线性理论既优雅又强大。
然而,从数学角度看,这些性质也使得理论显得有些“平淡”。





当研究的函数空间是无限维时,情况变得有趣起来。此时,许多在有限维空间中成立的良好性质会失效。例如:
- 线性映射不再自动连续。
- 单射的线性映射也不再自动是满射。


泛函分析与机器学习的关联 🤖


你可能会认为,对于机器学习应用而言,我们最终实现算法时使用的都是矩阵和有限维向量,因此无需关心无限维空间。这种观点在一定程度上有其道理。


但是,当我们需要深入理解算法究竟在做什么,并希望证明关于算法的理论陈述时,泛函分析就变得至关重要。


最突出的例子是再生核希尔伯特空间,它被用来分析机器学习中的核方法。核方法是一类非常简洁而强大的算法集合。要真正理解它们的工作原理,我们需要泛函分析的工具。




类似地,在许多其他情况下,如果你想理解算法的本质并证明相关的理论,也需要涉足泛函分析。这背后的根本原因是:我们通常处理有限维算法,是因为我们只能观测到有限多个数据点;但如果你想做出一个关于“在数据点数量趋于无穷的极限情况下”的统计性陈述,就必须考虑无限维的背景。


本节课中我们一起学习了泛函分析在机器学习中的重要性,特别是无限维向量空间带来的性质变化,以及理解算法(如核方法)为何需要这些数学工具。
034:对偶空间与里斯表示定理 🧮

在本节课中,我们将学习线性代数中的一个核心概念:对偶空间。我们将从定义线性泛函开始,逐步引入代数对偶空间和连续对偶空间的概念,并最终探讨在希尔伯特空间背景下至关重要的里斯表示定理。

上一讲中,我们定义了线性映射的算子范数。我们简单地称该对象为算子,但并未说明它是一个范数,更未明确指出它作用于哪个空间。


本节中,我们将探讨这个空间,它被称为对偶空间。让我们从几个定义开始。
考虑一个向量空间 V,它定义在某个域 F(如实数域 ℝ 或复数域 ℂ)上。一个映射 T 从向量空间 V 映射到其定义域 F。

这样的映射通常被称为泛函。算子通常指从一个向量空间映射到另一个向量空间的映射,而泛函则是从向量空间映射到其定义域的映射。这就是“泛函分析”这一名称的由来。


当然,这个映射需要是线性的。我们称 T 为一个线性泛函。
但这并非本定义的主要目的。给定这样一个向量空间 V,我们首先定义所谓的代数对偶空间。

代数对偶空间记作 V*,它由 V 上所有线性泛函构成。因此,对偶空间简单地定义为所有从 V 到 F 的线性映射的集合。

然而,在分析学中,我们通常关心的是连续映射。因此,当我们有一个赋范向量空间(即配备了范数的向量空间)时,我们可以定义连续对偶空间。

连续对偶空间记作 V',它由 V 上所有连续(或有界)的线性泛函构成。在赋范空间中,线性算子的连续性与有界性是等价的。


因此,连续对偶空间是代数对偶空间的一个子集:V' ⊆ V*。


现在,我们来看一个关键定理:里斯表示定理。这个定理描述了希尔伯特空间(一种完备的内积空间)中连续线性泛函的具体形式。

里斯表示定理指出:设 H 是一个希尔伯特空间,其内积记为 <·, ·>。那么,对于 H 上的每一个连续线性泛函 f ∈ H',都存在唯一的一个向量 y ∈ H,使得对于所有 x ∈ H,都有:


f(x) = <x, y>
反之,对于任意固定的 y ∈ H,由 f_y(x) = <x, y> 定义的映射 f_y 是 H 上的一个连续线性泛函。



这个定理极其强大。它意味着在希尔伯特空间中,每一个连续线性泛函都可以通过取内积的方式,由一个唯一的向量来表示。这在对偶空间 H' 和原空间 H 之间建立了一个自然的同构(一一对应的线性映射)。

以下是该定理的几个关键点:

- 存在性:每个连续线性泛函都能找到这样一个“代表”向量 y。
- 唯一性:代表向量 y 是唯一的。
- 保范性:泛函 f 的算子范数等于其代表向量 y 的范数,即 ||f|| = ||y||。


本节课中,我们一起学习了:
- 线性泛函的定义:从向量空间到其标量域的线性映射。
- 对偶空间的概念:分为包含所有线性泛函的代数对偶空间 V* 和包含所有连续线性泛函的连续对偶空间 V'。
- 里斯表示定理的核心内容:在希尔伯特空间中,每个连续线性泛函都等价于与某个固定向量取内积的操作。这建立了原空间与其对偶空间之间深刻的联系,是许多机器学习算法(如支持向量机、核方法)背后数学基础的重要组成部分。
035:序列与收敛 🧮







在本节课中,我们将开始学习微积分,这是机器学习中至关重要的数学工具。我们将从一维空间开始,回顾其核心直觉,并探讨如何在多维空间中应用导数和积分。微积分对于理解梯度下降等优化算法以及概率方法中的积分计算至关重要。为了定义导数和积分,我们首先需要理解序列及其极限的概念。




序列的定义


上一节我们介绍了微积分的重要性,本节中我们来看看序列这一基础概念。




我们考虑一个序列 (x_n)_{n \in \mathbb{N}},它是实数集 \mathbb{R}^d 的一个子集。




备注:在后续内容中,我们通常会将序列简写为
(x_n),并默认n属于自然数集\mathbb{N}。这始终表示一个数字序列。序列中的元素存在于\mathbb{R}^d空间中,而序列本身是\mathbb{R}^d的一个子集,这就是为什么使用子集符号\subset而非元素符号\in。




我们考虑这样一个序列,并给出以下定义。




这样的序列被称为一个序列。
036:连续函数 📈

在本节课中,我们将要学习连续函数的概念。连续性在微积分和机器学习中都是一个核心概念,它描述了函数行为的“平滑性”,即函数图像没有突然的跳跃或断裂。


连续函数的直观理解

上一节我们介绍了函数的基本概念,本节中我们来看看如何定义函数的连续性。
首先,大多数人对函数连续性的直观理解是:函数图像没有跳跃。换句话说,如果你把函数画成一条曲线,这条曲线上没有缺口或断点。


连续性的两种形式化定义

当然,我们需要一个更严谨的数学定义。事实上,存在多种方式来形式化地定义连续性,我将向你展示两种不同的方法。这两种定义是等价的,但根据你的目的(例如,证明某个定理),其中一种可能比另一种更方便。


定义的前提:度量空间
让我们开始吧。我们考虑一个函数 f,它从一个集合 X 映射到另一个集合 Y。目前,我们将 X 和 Y 视为度量空间。这意味着这两个集合都定义了距离的概念。



我们称 X 和 Y 为度量空间,并分别用 d_X 和 d_Y 表示它们的距离函数。我们不需要为这两个距离函数引入不同的符号,只需注意:当点来自 X 时,我们使用 d_X;当点来自 Y 时,我们使用 d_Y。

第一种定义:ε-δ 定义

现在,我们写出第一种定义,即著名的 ε-δ 定义。


我们说函数 f 在点 x₀ ∈ X 处是连续的,如果满足以下条件:


对于任意 ε > 0,都存在一个 δ > 0,使得对于所有 x ∈ X,如果 d_X(x, x₀) < δ,那么就有 d_Y(f(x), f(x₀)) < ε。


用公式表示如下:
∀ ε > 0, ∃ δ > 0, s.t. ∀ x ∈ X: d_X(x, x₀) < δ ⇒ d_Y(f(x), f(x₀)) < ε

通过示例理解定义


让我们看两个例子来说明这个定义的含义。

以下是一个连续函数的例子,因为它没有跳跃。



本节课中我们一起学习了连续函数的概念。我们从直观理解入手,介绍了函数在度量空间上的形式化定义,并重点讲解了使用 ε-δ 语言来精确定义函数在某一点连续性的方法。理解这个定义是学习后续微积分概念的重要基础。
037:函数序列的点态收敛与一致收敛 📈


在本节课中,我们将要学习函数序列的收敛性。我们将结合之前学过的数列收敛与函数连续性的概念,探讨函数序列如何收敛,并重点介绍两种核心的收敛方式:点态收敛与一致收敛。



上一节我们介绍了数列的收敛和函数的连续性。本节中,我们来看看如何将这两个概念结合起来,研究函数序列的收敛性。

函数序列的收敛有两种基本且重要的方式,在整个数学中,尤其是在微积分里至关重要。一种是点态收敛,这是一种相对较弱的收敛形式;另一种是一致收敛,这是一种强得多的收敛形式,并且能带来许多良好的性质。




让我们开始具体分析。

首先,我们考虑一系列函数。这些函数从一个定义域 D(D 是实数集 R 的一个子集)映射到实数 R。为了简化,我们仅在实数范围内讨论,当然这个概念可以推广到更一般的空间。


现在,我们定义什么是点态收敛。


我们说,函数序列 {f_n} 点态收敛于函数 f(f 也是一个从定义域 D 到 R 的函数),如果对于定义域 D 内的所有点 x,当 n 趋于无穷大时,函数值序列 f_n(x) 都收敛于 f(x)。


用公式描述如下:
对于所有 x ∈ D,有 lim_{n→∞} f_n(x) = f(x)。

为了更直观地理解,我们可以这样想:对于每一个固定的点 x,我们得到一个数列 x_n = f_n(x)。点态收敛要求,对于每一个这样的 x,数列 {x_n} 都收敛于极限值 y = f(x)。






本节课中我们一起学习了函数序列收敛的基本概念。我们定义了点态收敛,即函数序列在每个单独的输入点上都收敛到极限函数对应的函数值。这是一种逐点定义的收敛方式。在接下来的课程中,我们将探讨更强的一致性收敛及其重要性质。
038:R上的微分

在本节课中,我们将开始学习函数的导数。我们将从一维情况入手,因为大多数同学可能已经接触过一维导数。一维导数是理解更复杂的多维导数的基础。通过回顾一维导数的核心概念和直觉,将有助于我们后续学习更高维度的微分。





可微性的定义



上一节我们介绍了讨论导数的背景,本节中我们来看看如何正式定义函数的可微性。

我们考虑一个定义在实数区间 U 上的函数 f。这里的核心是,我们目前讨论的是一维情况,即函数的定义域和值域都是实数 R。




函数 f 在点 a(属于区间 U)处被称为可微的,如果以下极限存在:


f'(a) = lim (h -> 0) [ ( f(a + h) - f(a) ) / h ]



如果这个极限存在,我们称该极限值为函数 f 在点 a 处的导数,记作 f'(a)。


总结



本节课中我们一起学习了函数在一维实数空间上的可微性定义。我们明确了函数在一点可微意味着其差商的极限存在,并将该极限值定义为该点的导数。这是理解所有微分概念的基石。
039:实数上的黎曼积分



在本节课中,我们将学习积分的基本概念,特别是黎曼积分。这是一种非常直观的积分定义方式,虽然它可能不是最完善的,但它是理解积分思想的重要基础。我们将从定义在有界闭区间上的有界函数开始,逐步构建黎曼积分的概念。
黎曼积分的背景与动机






数学家们为了形式化地定义积分,曾进行过许多不同的尝试。黎曼积分是这些尝试中的重要一步,它提供了一个非常直观的理解方式。即使你已经在学校或大学本科教育中接触过积分,我们仍将在此回顾其基本思想,以便为后续更深入的学习打下基础。


定义域与函数



我们首先考虑一个定义在实数集上有界闭区间上的函数。为了简化讨论,我们目前只处理一维情况,但原则上这种方法也可以推广到多维空间。

具体来说,我们考虑一个函数 f,其定义域是一个有界闭区间 [a, b],其中 a 和 b 是实数。




我们假设这个函数 f 是有界的。这意味着存在实数 L 和 U,使得对于定义域 [a, b] 内的所有 x,函数值都满足以下不等式:



L ≤ f(x) ≤ U



换句话说,函数 f 的图像被限制在两条水平线 y = L 和 y = U 之间。
040:微积分基本定理 📚

在本节课中,我们将要学习微积分基本定理。正如其名所示,这是一个非常重要的定理。你或许在学校里已经见过这个定理的部分内容,尽管当时可能没有这样称呼它。现在,我们将针对一维情况重新阐述这个定理,并概述其两个主要方向,最后展示其证明过程。

微积分基本定理的核心在于建立积分与微分之间的联系。从高层次看,这个结论有些令人惊讶。本质上,该定理表明,积分和微分在某种意义上可以视为互为逆运算的线性算子。
现在,让我们更精确地陈述这个定理。我们将其分为两部分,分别称为定理一和定理二。不同书籍的编号方式可能略有不同,但这里采用以下表述方式。


我们考虑一个定义在紧区间 [a, b] 上,取值于实数域的函数 f。我们假设该函数是黎曼可积的,并且是连续的。实际上,对于定理的简单陈述,只需要函数在某一点连续即可,然后我们将针对该特定点进行论述。



具体来说,假设函数 f 在区间 [a, b] 内的某一点 x0 处连续。现在,我们任意选取区间内的一个数 c。接着,我们考虑一个新函数 F,其定义为从固定点 c 到变量 x 的积分,即:

F(x) = ∫_c^x f(t) dt

定理一:积分函数的导数


上一节我们定义了积分函数 F(x)。本节中,我们来看看关于 F(x) 可微性的结论。


定理一 指出:如果函数 f 在点 x0 处连续,那么由积分定义的函数 F 在 x0 处可微,并且其导数恰好等于 f(x0)。用公式表示为:
F'(x0) = f(x0)
这个结论非常直观:对一个连续函数进行积分运算,然后再对积分上限求导,结果就回到了原来的函数值。





定理二:原函数与定积分

上一节我们看到了积分后再求导的结果。本节中,我们来看看另一个方向:先求原函数再计算定积分。

定理二 指出:如果函数 f 在区间 [a, b] 上连续,并且 G 是 f 在 [a, b] 上的任意一个原函数(即 G'(x) = f(x) 对所有 x ∈ [a, b] 成立),那么 f 在 [a, b] 上的定积分可以通过原函数在区间端点处的值差来计算。用公式表示为:

∫_a^b f(x) dx = G(b) - G(a)


这个定理为计算定积分提供了极其强大的工具。我们不再需要复杂的极限求和,只需找到被积函数的任意一个原函数,然后计算其在积分上下限的函数值之差即可。


以下是理解这两个定理的关键点:


- 互逆关系:定理一表明,对连续函数先积分再求导,得到原函数。定理二表明,对连续函数先求原函数再作差,得到定积分。这揭示了微分和积分是互逆的运算。
- 计算简化:定理二,即牛顿-莱布尼茨公式,将复杂的积分计算转化为相对简单的求原函数和函数值求差问题。
- 连续性条件:定理一要求
f在特定点连续;定理二要求f在整个积分区间连续。这是结论成立的重要前提。



本节课中我们一起学习了微积分基本定理。我们明确了其两部分内容:定理一说明了积分函数的导数等于被积函数;定理二(牛顿-莱布尼茨公式)提供了通过原函数计算定积分的简便方法。这两个定理共同构成了微积分学的基石,深刻揭示了微分与积分之间的互逆关系。
041:幂级数 📈



在本节课中,我们将要学习幂级数。这是理解后续泰勒级数和泰勒近似的基础。我们将从幂级数的定义开始,探讨其收敛性,并介绍一个核心概念——收敛半径。

幂级数的定义



上一节我们介绍了无穷级数的概念。本节中,我们来看看一种特殊的函数级数形式。


一个形如以下公式的无穷级数被称为幂级数:



$$
P(x) = \sum_{n=0}^{\infty} a_n x^n
$$
其中,a_n 是常数系数,x 是变量。你可以把它看作是一个“无限次”的多项式。在德语中,它被称为“Potenzreihe”。



收敛性问题

定义了幂级数之后,一个自然的问题是:对于任意给定的 x,这个无穷和 P(x) 是否总是有意义(即收敛到一个有限值)?
答案是否定的。P(x) 的值可能不存在(发散),或者趋于无穷。目前,我们只是将其定义为一个形式上的数学对象。接下来的内容将致力于探讨这些级数在什么条件下会收敛。

收敛半径定理




对于幂级数,存在一个非常关键的特征数,称为收敛半径。这是幂级数理论中最重要的定理。

每个幂级数都有一个收敛半径 R(R 可以是 0,正实数,或 +∞)。这个半径决定了级数在哪些 x 值上收敛。

以下是关于收敛半径的核心定理:


定理(收敛半径):
对于幂级数 P(x) = Σ a_n x^n,存在一个收敛半径 R(0 ≤ R ≤ +∞),满足:
- 当
|x| < R时,级数绝对收敛。 - 当
|x| > R时,级数发散。 - 当
|x| = R时(即在边界上),级数的收敛性不确定,需要单独分析。


简单来说,收敛半径 R 在数轴上定义了一个以原点为中心、半径为 R 的区间(或圆盘)。在这个区间内部,级数保证收敛;在外部,级数发散;在边界上,情况复杂,需具体分析。



本节课中我们一起学习了幂级数的基本定义,并理解了其收敛性的核心——收敛半径定理。我们知道了幂级数并非对所有 x 都收敛,其有效范围由一个称为收敛半径的数值 R 决定。在下一节中,我们将利用这个工具来构建函数的泰勒级数近似。
042:泰勒级数

在本节课中,我们将要学习泰勒级数。我们将探讨如何将一个函数表示为无穷级数的形式,并理解其背后的数学原理和适用条件。
上一节我们介绍了幂级数及其收敛性。本节中我们来看看如何从一个给定的函数出发,构造其对应的幂级数,即泰勒级数。

泰勒级数的核心思想


我们已知,如果一个函数可以表示为一个幂级数,那么该级数的系数可以通过该函数的各阶导数来表达。具体公式如下:
对于一个在点 a 处解析的函数 f(x),其幂级数展开为:
f(x) = Σ_{k=0}^{∞} [f^{(k)}(a) / k!] * (x - a)^k


其中,f^{(k)}(a) 表示函数 f 在点 a 处的 k 阶导数。
一个自然的问题是:这个过程是否可以反过来?对于任意一个函数,我们能否通过计算其在某点的各阶导数来构造一个幂级数,并期望这个级数收敛到原函数本身?


答案是:在一定条件下可以。这引出了泰勒定理。

泰勒定理(带余项形式)
以下是泰勒定理的一种表述。


设 I 是 R 中的一个开区间,f: I → R 是一个函数。特别地,假设 f 是 n+1 次连续可微的,即 f ∈ C^{n+1}(I)。

假设 a 和 x 是区间 I 内的两个数。我们定义函数 f 在点 a 处的 n 阶泰勒多项式为:
T_{n, a}(x) = Σ_{k=0}^{n} [f^{(k)}(a) / k!] * (x - a)^k


那么,函数 f(x) 与其泰勒多项式 T_{n, a}(x) 之间的误差,即余项 R_n(x),可以精确表示为:

f(x) = T_{n, a}(x) + R_n(x)

并且余项 R_n(x) 存在一个积分形式的表达式(例如拉格朗日余项或积分余项),它量化了近似误差。


这个定理的关键在于,它不要求无穷级数收敛,而是给出了一个有限项多项式逼近原函数,并明确指出了逼近的误差。当 n 趋向于无穷大时,如果余项 R_n(x) 趋向于零,那么泰勒多项式序列就收敛到原函数,此时泰勒级数成立。
泰勒级数的不同版本



泰勒定理存在多种形式,主要区别在于余项的表达式。以下是几种常见的余项形式:

- 积分余项:
R_n(x) = (1/n!) ∫_{a}^{x} f^{(n+1)}(t) * (x - t)^n dt - 拉格朗日余项:存在某个
ξ介于a和x之间,使得R_n(x) = [f^{(n+1)}(ξ) / (n+1)!] * (x - a)^{n+1} - 柯西余项:存在某个
ξ介于a和x之间,使得R_n(x) = [f^{(n+1)}(ξ) / n!] * (x - ξ)^n * (x - a)
选择不同的余项形式有助于在不同情况下分析和估计逼近误差。


从泰勒多项式到泰勒级数

当函数 f 在点 a 的某个邻域内是无穷次可微的,并且对于该邻域内的所有 x,泰勒多项式的余项 R_n(x) 随着 n → ∞ 而趋于零时,我们得到泰勒级数:


f(x) = Σ_{k=0}^{∞} [f^{(k)}(a) / k!] * (x - a)^k
此时,我们说函数 f 在点 a 处是解析的。泰勒级数的收敛半径由函数本身的性质决定。


本节课中我们一起学习了泰勒级数的概念。我们从幂级数系数与导数的关系出发,引出了通过函数导数构造其幂级数表示的核心问题。通过泰勒定理,我们理解了如何用有限项的多项式(泰勒多项式)逼近函数,并分析了余项。最后,我们探讨了使泰勒多项式序列收敛为泰勒级数的条件,即函数需要在某点处解析。泰勒级数是连接离散多项式逼近与连续函数分析的重要桥梁,在机器学习的函数逼近和优化理论中有着广泛应用。
043:Sigma代数与测度论基础


在本节课中,我们将要学习积分理论的一个更一般化的构造方法。我们将回顾黎曼积分的局限性,并理解为什么需要引入“测度”这一更基础的概念,以及与之相关的“Sigma代数”结构。这是理解现代概率论和机器学习中许多高级概念的关键一步。
黎曼积分的回顾与局限性

上一节我们介绍了黎曼积分的基本思想,本节中我们来看看它的具体构造以及为何需要推广。

我们已经了解了黎曼积分的概念,这是一种定义函数积分或函数下方体积的直接方法。

积分或函数下方的体积。



我想非常简要地重复一下它的构造方式,以便指出为什么我们现在需要一个更一般的构造。
如果你有一个如下所示的函数。




我们所做的是,将函数定义域分割成许多小区间。

然后我们用如下所示的小矩形来近似函数。


接着,我们用所有这些小矩形的体积之和来近似函数下方的体积。

我们已经看到,虽然这种方法对于连续函数效果很好,但对于许多函数它并不适用,例如,有理数的特征函数。






直观地思考一下那里会发生什么。

黎曼积分构造的核心要素

要定义积分概念,这里使用了什么?我们观察了这些小区间。



我们所做的是利用了我们直观上知道这样一个区间的体积应该是什么。我们称这个区间为 [x_k, x_{k+1}]。



这个体积的概念,直观上应该就是区间的长度。所以它是 x_{k+1} - x_k。





然后我们说,我们通过观察这个区间 I 的体积乘以某个函数值来近似 F 的积分。
所以我们说,F 从 a 到 b 的积分近似于一个和式。然后我们看这些小区间的体积 V_k 乘以函数在某个点 m_k 的值。









无论你称它为什么,它可以是区间起点、终点、最大值点,或者任何在该区间内的点,例如这里的 m_k。



通过这种方式,我们近似了函数。这就是它起作用的直观方式。



黎曼积分的不足与推广需求
现在我们说,黎曼积分存在很多缺陷,这些缺陷源于“体积”这个概念不够一般化。


因为我们已经看到,如果你想处理像观察有理数集合这样的情况。



有理数集在实数轴上是“稠密”但“零长度”的。黎曼积分基于区间长度(即勒贝格测度)来定义体积,它无法给这样一个“奇怪”的集合赋予一个有意义的“大小”(测度)。为了给更广泛的集合(如有理数集、康托尔集等)定义“体积”,并进而对更广泛的函数(如特征函数)定义积分,我们需要一个更基础的“测度”理论。而为了精确定义“测度”在哪些集合上有定义,就需要引入 Sigma代数 作为可测集合的全体。


本节课中我们一起学习了黎曼积分的基本构造及其局限性。我们看到,其核心依赖于对区间“长度”这一直观概念的运用。然而,对于像有理数集这样的集合,这种基于区间长度的体积概念失效了。这引出了对更一般的“测度”概念的需求,而测度的精确定义又依赖于 Sigma代数 这一结构。在接下来的课程中,我们将深入探讨Sigma代数和测度的正式定义,为学习勒贝格积分打下基础。
044:测度定义 📏

在本节课中,我们将学习测度的正式定义。测度是数学中一个核心概念,它为我们提供了一种系统化的方式来度量集合的“大小”或“体积”,这对于理解概率论和机器学习中的积分至关重要。

上一节我们介绍了σ-代数,它定义了哪些集合是“可测的”。本节中,我们将看看如何为这些可测集合分配一个数值,即测度。


从直观到定义
在关于σ-代数的课程中,我们已经给出了直观的解释。我们现在要做的是定义一个“体积”的自然概念。这个概念应该满足比仅基于有限个区间发展出的通用体积概念更一般的性质。


我们已经定义了什么是σ-代数,并且已经将σ-代数中的集合称为可测集。现在,我们想为所有这些集合分配一个测度。


测度的构成要素

现在的情况是,我们有一个空间,以及一个σ-代数,它包含了所有我们希望赋予“体积”概念的集合的全体。

当然,和往常一样,这个测度需要满足某些性质。例如,在实数集 R 上,如果你有一个区间和另一个区间,并且它们不相交,那么这两个区间的体积应该相加。

我们现在有一系列这样的性质。

测度的正式定义
现在,让我们直接给出定义。



我们从一个给定的可测空间开始。一个可测空间 (X, F),其中 F 是一个σ-代数。


给定这样一个空间,一个测度是一个映射。这个映射通常用希腊字母表示,如 λ, μ 等,这里我们称之为 μ。

这个映射从σ-代数 F 映射到非负实数(包括无穷大)。

它需要满足以下性质:


以下是测度必须满足的三个核心性质:

- 空集的测度为零:
μ(∅) = 0。这是一个合理且不应被违反的性质。 - 非负性:对于任何可测集 A ∈ F,其测度非负:
μ(A) ≥ 0。 - 可列可加性:这是测度最核心的性质。如果有一系列两两不相交的可测集 A₁, A₂, A₃, ...,那么它们的并集的测度等于它们各自测度之和。用公式表示为:
μ(⋃_{i=1}^{∞} A_i) = Σ_{i=1}^{∞} μ(A_i)

这个性质确保了测度在可数无限操作下仍然保持“体积”相加的直觉。

总结


本节课中,我们一起学习了测度的正式定义。我们从需要度量集合“体积”的动机出发,基于之前建立的σ-代数框架,定义了一个从可测集到非负实数的映射 μ。这个映射必须满足三个关键性质:空集测度为零、非负性以及最重要的可列可加性。测度为我们在更复杂的空间(如概率空间)上定义积分和概率奠定了严格的数学基础。
045:R^n上的勒贝格测度 📏



在本节课中,我们将学习如何为实数集或R^n空间定义一种新的“体积”概念,即勒贝格测度。这是构建勒贝格积分的基础,也是黎曼积分中隐含的“体积”概念(如约当测度)的推广。


上一节我们介绍了σ-代数和测度的定义。本节中,我们将具体构造实数线乃至R^n空间上的勒贝格测度。

核心思想与动机 💡


勒贝格测度的主要思想,是推广我们在构造黎曼积分时隐含使用的那种朴素的体积概念。对于黎曼积分(或其背后的约当测度),我们通常通过用小矩形(或高维下的“小方块”)覆盖待测集合,然后用这些小矩形的体积之和来近似该集合的“体积”。
因此,我们的目标是构造一个定义在R^n上的测度,并且我们希望它对像矩形(或立方体)这样的基本几何形状,能给出我们直觉上的标准体积。




对矩形体积的期望 📐



具体来说,我们考虑R^n中的矩形(或称超矩形)。例如,在二维平面上,一个矩形可以表示为:
[
R = [a_1, b_1] \times [a_2, b_2]
]
其边长分别为 ( c_1 = b_1 - a_1 ) 和 ( c_2 = b_2 - a_2 )。我们期望这个矩形的“体积”(在二维下即面积)是:
[
\text{体积}(R) = c_1 \times c_2
]
推广到n维,对于一个形如 ( R = [a_1, b_1] \times [a_2, b_2] \times \ldots \times [a_n, b_n] ) 的矩形,其体积应为各边长的乘积:
[
\text{体积}(R) = \prod_{i=1}^{n} (b_i - a_i)
]
这就是我们构建勒贝格测度的直观起点和基本要求。


构造思路 🛠️


基于上述期望,构造勒贝格测度的一般思路如下:

- 从简单集合开始:首先,我们明确定义所有左闭右开区间(在R1中)或矩形(在Rn中)的集合的测度,即其标准几何体积。
- 扩展到更复杂的集合:然后,我们利用测度论的工具(如外测度),将这个测度定义扩展到由这些基本矩形生成的σ-代数(即博雷尔σ-代数)中的所有集合上。
- 验证测度性质:最后,需要验证这样定义出来的函数确实满足测度的三条公理(非负性、空集为零、可列可加性)。
通过这个过程,我们就能得到一个在R^n上定义良好、包含足够多集合(包括所有开集、闭集、可数集等)、并且对矩形能给出正确体积的测度,这就是勒贝格测度。




总结 📝



本节课我们一起学习了勒贝格测度的构造动机和基本目标。我们了解到,勒贝格测度旨在为R^n中的子集提供一个推广的“体积”概念,它起源于黎曼积分中的朴素体积思想,并最终要求对基本的矩形结构给出其边长的乘积作为标准体积。在接下来的课程中,我们将深入其具体的数学构造过程。
046:不可测集的构造 🧩

在本节课中,我们将学习一个重要的概念:勒贝格不可测集。上一节我们介绍了勒贝格测度的构造,并提到可能存在一些集合,它们无法用勒贝格测度来度量。本节中,我们将具体构造这样一个集合,并理解其背后的原理。
概述

我们将在一个简单的区间上,通过定义一个等价关系,并借助选择公理,来构造一个无法被赋予勒贝格测度的集合。这个构造过程本身也展示了数学中一些深刻而有趣的思想。

构造不可测集
1. 定义等价关系
首先,我们在实数集 R 的开区间 (0, 1) 上工作。为了简化,我们也可以在整个 R 上进行,但这里选择单位区间。
我们在这个区间上定义一个等价关系。具体定义如下:


我们说两个数 x 和 y 是等价的,当且仅当它们的差是一个有理数。



用公式表示这个关系:
[
x \sim y \quad \text{当且仅当} \quad x - y \in \mathbb{Q}
]
这意味着,如果你能找到任意一个有理数 q,使得 x = y + q,那么 x 和 y 就属于同一个等价类。


例如,π/4 和 π/4 + 1/2 就属于同一个等价类,因为它们的差 1/2 是一个有理数。
2. 应用选择公理
这个等价关系将区间 (0, 1) 划分成了无数个互不相交的等价类。每个等价类都由彼此相差有理数的所有数组成。
现在,我们从每一个等价类中,恰好选取一个元素,组成一个新的集合 V。


这个“从每个等价类中选一个代表”的操作,无法通过明确的规则(例如“选最小的那个数”)来完成,因为等价类在实数中是稠密的。我们必须依赖一个强大的数学工具——选择公理。


选择公理是集合论中的一条基本公理,它允许我们从一族非空集合的每一个集合中选出一个元素,而无需指定具体的选取规则。虽然有些数学家对它的使用存在争议,但在构造此类“怪异”集合时,它是必不可少的。

3. 集合 V 的性质与矛盾

我们构造出的集合 V 具有以下关键性质:
- V 中的任意两个元素都不等价(即它们的差不是有理数)。
- 对于区间 (0, 1) 中的任何一个数 x,都存在 V 中唯一的一个元素 v 和一个有理数 q,使得 x = v + q。换句话说,整个区间 (0, 1) 可以被表示为 V 与所有有理数平移后的集合的并集。


现在,假设 V 是勒贝格可测的。让我们看看会发生什么。

考虑所有绝对值小于1的有理数集合 Q₁。这是一个可数集。对于每个有理数 q ∈ Q₁,我们构造集合 V_q = {v + q | v ∈ V},即将 V 平移 q 个单位。


以下是这些集合的性质:
- 所有这些平移集合 {V_q} 是两两不相交的。
- 它们的并集覆盖了整个区间 (0, 1),并且被包含在更大的区间 (-1, 2) 中。
由于勒贝格测度具有平移不变性(平移一个集合不改变其测度),如果 V 可测,那么每个 V_q 也可测,并且它们的测度都等于 V 的测度,记作 λ(V)。

根据测度的可数可加性(互不相交的可数多个可测集的并集的测度,等于它们各自测度的和),区间 (0, 1) 的测度(等于1)应该等于所有 V_q 的测度之和。
这导致了一个关于 λ(V) 的方程:
[
1 = \lambda((0,1)) = \sum_{q \in Q_1} \lambda(V_q) = \sum_{q \in Q_1} \lambda(V)
]
由于 Q₁ 是可数无穷集,这个求和意味着:
- 如果 λ(V) = 0,那么无穷个0相加还是0,不等于1。
- 如果 λ(V) > 0,那么无穷个正数相加会趋于无穷大,也不可能等于1。


我们得出了一个矛盾。因此,我们最初的假设——“V 是勒贝格可测的”——是错误的。
所以,我们成功构造了一个集合 V,它不是勒贝格可测的。

总结


本节课中,我们一起学习了如何构造一个勒贝格不可测集。我们首先在单位区间上定义了一个基于有理数差的等价关系,然后借助选择公理从每个等价类中选取一个代表元,构成了集合 V。通过分析 V 的平移集合的性质,并利用勒贝格测度的平移不变性和可数可加性,我们推导出了矛盾,从而证明了 V 不可能是可测的。这个构造揭示了勒贝格测度理论的边界,也展示了选择公理在构建“病态”数学对象中的关键作用。
047:R^n上的勒贝格积分 📐



在本节课中,我们将要学习如何定义勒贝格积分。上一节我们介绍了如何在实数集或R^n上构造勒贝格测度,本节中我们将利用这个测度来最终定义勒贝格积分。我们将看到,与黎曼积分相比,勒贝格积分的一个关键技巧使其构造更具一般性。
从黎曼积分到勒贝格积分 🔄
在构造勒贝格测度时,我们使用了一些关键技巧,例如使用集合的不可数并集,以及用补集的外近似来替代集合的内近似等,这使得其构造比黎曼积分更一般化。


对于黎曼积分与勒贝格积分,也存在一个关键技巧,使得勒贝格能够在一个更广泛的意义上进行构造。让我们先回顾一下黎曼积分的定义,以获得一些直观理解。




对于黎曼积分,我们从一个定义在紧致区间上的有界函数开始。我们通过一些“阶梯函数”来近似这个函数。

然后我们说,如果从内部和外部的近似在极限下给出相同的值,那么我们就称这个函数是可积的,并且积分就是这些“小长条”的体积之和。

更仔细地思考一下,这意味着什么?这意味着我们为每个长条的“底”赋予了一个“体积”。例如,考虑其中一个长条,其整个体积是底部的“长度”(或更一般地,测度)乘以它的高度。这里的“长度”本质上就是R上的一种体积测度。


黎曼积分使用简单划分,我们需要计算体积的对象仅仅是区间,并且我们只处理有限组合或有限和,然后在求和后再取极限。我们从未处理过不可数多个这样的区间。

现在,勒贝格积分的关键区别在于以下思路。


勒贝格积分的关键思路 💡

我们再次画图说明。我们有一个函数。
在勒贝格积分中,我们不是沿着x轴(定义域)进行划分,而是沿着y轴(值域)进行划分。我们考虑函数的水平集,即函数值落在某个区间内的那些x的集合。




以下是定义勒贝格积分的基本步骤:
- 对值域进行划分:将函数的值域划分为小区间。
- 考虑水平集:对于每个小区间,考虑函数值落在这个区间内的所有点x构成的集合。这个集合的“大小”由我们已定义的勒贝格测度给出。
- 构造简单函数近似:用每个小区间的一个代表值(例如下确界或上确界)乘以对应水平集的测度,来构造一个近似原函数的简单函数。
- 取极限:通过让值域的划分越来越细,这些简单函数的积分会趋近于一个极限值,这个极限值就定义为原函数的勒贝格积分。


用公式表示,对于一个非负可测函数 f,其勒贝格积分可以定义为:
∫ f dμ = sup { ∫ s dμ | s 是简单函数,且 0 ≤ s ≤ f }
其中简单函数 s 的积分定义为 ∑ a_i * μ(A_i),这里 s = ∑ a_i * 1_{A_i},A_i 是可测集。


这种方法的巨大优势在于,它允许我们处理定义域非常“不规则”的集合上的积分,只要这些集合是可测的。它不依赖于定义域的结构(如区间),而只依赖于函数值分布的“测度”。


总结 📝


本节课中我们一起学习了勒贝格积分的基本定义思路。我们回顾了黎曼积分通过划分定义域来近似函数的方法,并指出了其局限性。勒贝格积分的关键创新在于改为划分函数的值域,并利用勒贝格测度来计算函数值落在每个小区间内的点集的“大小”。通过用简单函数从下方逼近原函数并取积分的上确界,我们得到了勒贝格积分的定义。这种方法极大地扩展了可积函数的范围,并为现代分析学和概率论奠定了坚实的基础。
048:R^n上的微分与偏导数 🧮

在本节课中,我们将要学习如何对定义在多维空间(维度大于一)上的函数进行求导。在机器学习中,求导几乎是最重要的主题,因为几乎所有机器学习算法都涉及求解优化问题,而解决这些问题通常需要计算函数的梯度,并执行梯度下降、随机梯度下降或其他更巧妙的近似方法。因此,我们需要定义如何在定义于R^n空间上的函数进行求导。

由于在R^n空间中存在多个方向需要考虑,相关概念会比在一维实数空间R中更为复杂。本节我们将从偏导数这一核心概念开始。
偏导数的定义 📝

上一节我们介绍了高维空间求导的必要性,本节中我们来看看偏导数的具体定义。


我们考虑一个函数 f,其映射关系为 f: R^n → R。这里我们经常需要处理两个空间的维度:输入空间和输出空间。我们通常用 N 表示输入空间的维度,用 M 表示输出空间的维度。在本例中,输出维度 M = 1,而输入维度 N 是一个大于1的数。
偏导数的直观理解是:考虑一个具有多个变量的函数,但固定除一个变量外的所有其他变量,然后对这个单一变量进行求导。

以下是偏导数的正式定义:

函数 f 在点 p 处关于变量 x_i 被称为可偏导的,如果以下极限存在:
$$
\frac{\partial f}{\partial x_i}(p) = \lim_{h \to 0} \frac{f(p_1, ..., p_i + h, ..., p_n) - f(p_1, ..., p_i, ..., p_n)}{h}
$$
这个极限值就被称为 f 在点 p 处关于 x_i 的偏导数。



核心概念解析 🔍

为了更清晰地理解,我们可以将偏导数的计算分解为以下步骤:
- 选择变量:从函数的 n 个输入变量中,选择一个变量 x_i 作为我们要求导的对象。
- 固定其他变量:将所有其他变量 (x_1, ..., x_{i-1}, x_{i+1}, ..., x_n) 视为常数。
- 视为一元函数:此时,函数 f 可以被看作仅仅是关于变量 x_i 的一元函数。
- 应用一元导数定义:对这个新的一元函数在点 p_i 处应用标准的一元导数定义,即计算函数值变化量与自变量变化量比值的极限。


计算示例 💻

让我们通过一个简单的例子来巩固理解。假设有一个函数:
$$
f(x, y) = x^2 + 3xy + y^3
$$
我们要计算在点 (1, 2) 处关于 x 的偏导数 ∂f/∂x。

根据定义和步骤:
- 选择变量 x。
- 将另一个变量 y 视为常数(此时
y = 2)。 - 函数变为关于 x 的一元函数:
f(x) = x^2 + 3*x*2 + 2^3 = x^2 + 6x + 8。 - 对该一元函数求导:
df/dx = 2x + 6。 - 在
x = 1处计算:∂f/∂x (1,2) = 2*1 + 6 = 8。


用代码表示其计算逻辑如下:
def partial_derivative_x(f, x, y):
# 将y视为常数,对x求导
h = 1e-5 # 一个极小的数,用于数值近似
return (f(x + h, y) - f(x, y)) / h



def f(x, y):
return x**2 + 3*x*y + y**3
# 计算在点(1,2)处关于x的偏导数
result = partial_derivative_x(f, 1, 2)
print(f"∂f/∂x at (1,2) ≈ {result}")

几何意义 📐

从几何角度看,函数 z = f(x, y) 可以表示三维空间中的一个曲面。偏导数 ∂f/∂x (p) 表示的是:在点 p 处,曲面与平行于 xOz 平面(即固定 y 值)的垂直平面相交所得到的曲线的切线斜率。它刻画了函数沿 x 轴方向的变化率。

总结 🎯


本节课中我们一起学习了高维函数微分的基础——偏导数。我们明确了其定义,即固定其他变量,仅对某一特定变量求导。我们分析了其计算步骤,并通过具体例子和代码进行了演示,最后探讨了其几何意义。理解偏导数是理解后续更复杂的梯度、方向导数等概念的关键基石。在下一节中,我们将基于偏导数,构建出机器学习优化中的核心工具——梯度。
049:全导数

在本节课中,我们将要学习全导数的概念。上一节我们介绍了偏导数,它通过固定其他变量来考察函数沿单个坐标轴方向的变化率。然而,偏导数并不具备一维微积分中导数的所有优良性质。本节中,我们来看看如何定义高维空间中函数的“可微性”,其核心思想是用线性映射来局部逼近函数。


从偏导数到全导数

在上一讲中,我们看到了偏导数。如果我们仅从单个变量的角度考虑函数,并固定所有其他点,偏导数调整了求导的方法。
我们见过这些偏导数。它们可能是一个有用的工具,但它们仍然不具备我们在一维微积分中所习惯的良好性质。例如,在一维中,如果某函数可微,那么它也连续。


现在的技巧在于研究所谓的全导数。让我们来定义它。


全导数的定义

我们再次考察一个从 R^n 映射到 R^m 的函数 F。

我们考虑定义域内的一个点 x。现在我们想定义函数 F 在点 x 处“可微”意味着什么。


所以,我们说 F 在点 x 处是可微的。

也许回想一下我们在一维情况下的设定。我们有一个函数,我们说它是可微的。例如,在某个点,如果你能用一个线性函数局部地近似它。


这正是我们想在 R^n 中表达的。我们想说,如果我们能用一个线性函数局部地近似这个函数,那么我们就称它为可微的。


考虑一个例子:假设你有一个曲面,其定义域是 R^2,曲面的高度给出了输出值。你可能想用一个平面(因为这是二维情况)来近似这个光滑的曲面。在每个点,用这个平面来近似曲面,而这个平面就是我们要寻找的线性映射。


让我们尝试把这个概念说清楚。

核心定义
函数 F: R^n → R^m 在点 x 处被称为可微的,如果存在一个线性映射 A: R^n → R^m,使得以下极限成立:
[
\lim_{\mathbf{h} \to \mathbf{0}} \frac{| F(\mathbf{x} + \mathbf{h}) - F(\mathbf{x}) - A(\mathbf{h}) |}{| \mathbf{h} |} = 0
]
这个线性映射 A 被称为 F 在点 x 处的全导数或导数,通常记作 DF(x) 或 F'(x)。
全导数的意义




以下是全导数定义的关键点:



- 线性逼近:全导数 A 是用于在点 x 附近最佳线性逼近函数 F 的映射。公式
F(x + h) ≈ F(x) + A(h)在 h 很小时成立。 - 与偏导数的关系:当全导数存在时,它可以由一个矩阵表示,这个矩阵就是雅可比矩阵,其元素由各个偏导数构成。对于 F: R^n → R^m,其雅可比矩阵 J_F(x) 是一个 m × n 矩阵:
[
J_F(\mathbf{x}) = \begin{bmatrix}
\frac{\partial F_1}{\partial x_1} & \cdots & \frac{\partial F_1}{\partial x_n} \
\vdots & \ddots & \vdots \
\frac{\partial F_m}{\partial x_1} & \cdots & \frac{\partial F_m}{\partial x_n}
\end{bmatrix}
]
此时,全导数作用 A(h) 就等于矩阵乘法 J_F(x) · h。 - 更强的条件:可微性(即全导数存在)是一个比“所有偏导数存在”更强的条件。它保证了函数在该点附近的变化是“光滑”且可以用线性模型很好地描述的。

总结


本节课中我们一起学习了全导数的概念。我们了解到,全导数通过寻找一个线性映射来在一点附近最佳地逼近函数,从而将一维导数的思想推广到了高维空间。全导数的存在意味着函数在该点不仅是光滑的,而且其局部行为完全由一个矩阵(雅可比矩阵)所刻画,这个矩阵由函数的所有一阶偏导数组成。理解全导数是理解后续梯度、方向导数以及优化算法中核心数学工具的基础。
050:方向导数 🧭



在本节课中,我们将要学习方向导数的概念。方向导数是偏导数的推广,它描述了函数在任意指定方向上的变化率,而不仅仅是沿着坐标轴方向的变化。
从偏导数到方向导数


上一节我们介绍了偏导数,它描述了函数在多维空间中沿着某个坐标轴方向的变化情况。


偏导数的直观理解是:对于一个定义在多维空间上的函数,当我们固定其他所有坐标值,只让其中一个坐标(例如第一个坐标)变化时,观察函数值如何变化。
现在,我们可以将这一原理推广到任意方向。我们可能想知道,如果沿着一个并非坐标轴的方向(例如图中所示的斜向箭头)移动,函数值会如何变化。


方向导数的定义


以下是方向导数的正式定义。


假设函数 F 是可微的(为简化起见,至少是连续的)。我们想要定义函数 F 在方向 V 上的方向导数。


设 F 是一个从 R^n 映射到 R 的函数。V 是 R^n 中的一个向量,并且其范数为1(即单位向量)。


方向导数定义如下:

方向导数公式:
D_v F(x) = lim_{h -> 0} [ F(x + h*v) - F(x) ] / h


其中:
D_v F(x)表示函数 F 在点 x 处沿方向 V 的方向导数。v是单位方向向量(||v|| = 1)。h是一个趋近于0的标量。


总结



本节课中我们一起学习了方向导数。方向导数扩展了偏导数的概念,使我们能够计算函数在任意指定方向上的瞬时变化率。其核心是考虑函数值在点 x 处沿着单位向量 v 的微小位移 h*v 时的变化,并通过极限来定义该方向上的导数。
051:R^n上的高阶导数 📈


在本节课中,我们将要学习高维空间中的高阶导数概念。上一节我们介绍了偏导数、全导数和方向导数,本节中我们来看看如何定义和计算二阶及更高阶的导数。





我们考虑一个函数 F,其定义域为 R^n,值域为 R。为简化起见,我们选择目标空间为一维。当然,如果目标空间是多维的,此概念同样适用,只需分别考察其各个分量函数。

我们假设函数 F 是可微的。这意味着所有形式为 ∂F/∂x_j (x) 的偏导数都存在。




每个偏导数本身也是一个从 R^n 映射到 R 的函数。因此,如果这个偏导数函数也是可微的,我们就可以再次对它求导。


以下是高阶导数的定义过程:




- 首先,对原函数 F 求关于变量 x_j 的偏导数,得到一阶偏导数函数 ∂F/∂x_j。
- 接着,如果 ∂F/∂x_j 可微,我们可以对其再求关于变量 x_k 的偏导数。
- 这个过程得到的结果称为二阶偏导数,记作 ∂²F/(∂x_k ∂x_j) 或 D_{kj}F。

用公式表示,二阶偏导数为:
∂²F/(∂x_k ∂x_j) (x) = ∂/∂x_k ( ∂F/∂x_j (x) )





我们可以继续这个过程,对二阶偏导数再求导,得到三阶或更高阶的偏导数。这些高阶导数在优化、物理建模和机器学习中(例如在牛顿法或理解损失函数的曲率时)至关重要。



本节课中我们一起学习了高维函数高阶导数的概念。我们了解到,高阶导数是通过对低阶导数函数连续求偏导得到的,它们提供了函数在一点附近更精细的变化信息。
052:极值点与鞍点 🔍

在本节课中,我们将要学习如何利用导数来寻找函数的最小值、最大值和鞍点。这些概念是几乎所有机器学习优化算法的核心,因为机器学习本质上就是通过最小化损失函数来找到最佳模型。


上一节我们介绍了导数和梯度的概念,本节中我们来看看如何利用梯度来寻找函数的极值点。
为什么梯度如此重要?🎯


我们在这门课程中如此关注求导的原因是,几乎所有的机器学习算法最终都归结为解决一个优化问题。


在机器学习中,你有一个损失函数和一个函数空间。你的目标是从这个庞大的函数类中挑选出最能描述你手头数据的最佳函数。通常,你会指定一个损失函数,可能还有一个正则化项,然后希望找到最佳函数。这通常意味着你需要最小化损失函数。因此,最终我们需要解决一个最小化问题。
为了找到一个函数的最小值,我们通常会观察其梯度。



一旦我们了解了梯度,我们还需要判断找到的点是最小值、最大值还是鞍点。这正是本节课要简要概述的内容。
定义与背景 📖


考虑一个函数 f: ℝⁿ → ℝ。在机器学习背景下,ℝⁿ 中的点可能是你的输入点,例如描述你感兴趣对象的特征向量。这些对象可能是你想要分类的分子、客户等等。


因此,这些对象由 ℝⁿ 中的向量描述,而函数的输出最终将是一个实数,例如损失函数的值。我们假设这个函数是可微的。

在机器学习中,你最初可能想到的“自然”损失函数往往并不可微。例如,在分类问题中,自然的损失函数是判断分类正确与否,这是一个0-1函数,一个离散函数,非常难以优化。因此,我们通常的做法是:

以下是我们的替代方案:
- 我们选择替代的损失函数,这些函数可能具有相似的性质,但至少是连续的,理想情况下也是可微的。
- 否则,我们无法真正推导或写出优化算法。
- 然后,我们优化这个替代损失函数,并希望(有时也能证明)通过优化替代损失函数,我们也能优化我们真正感兴趣的那个损失函数。
这就是为什么我一开始就说,假设这个函数是可微的。



关键概念:临界点 ⚠️


那么,什么是临界点?
如果函数 f 在某一点的梯度为 0,即:
∇f(x) = 0



那么我们就称点 x 为函数 f 的一个临界点。



在临界点处,函数的变化率为零,它可能是局部最小值、局部最大值,也可能是鞍点。区分这三种情况是优化过程中的关键步骤。


本节课中我们一起学习了如何通过梯度为零的条件来寻找函数的临界点,并了解了在机器学习中,我们通常需要构造可微的替代损失函数来进行有效的优化。理解临界点的类型(最小值、最大值、鞍点)对于后续学习具体的优化算法至关重要。
机器学习数学:C19:矩阵微积分




在本节课中,我们将要学习矩阵微积分。这是一个在机器学习中非常有用的工具,它能帮助我们高效地计算涉及矩阵和向量的目标函数的梯度,从而优化模型参数。


正如我们之前简要提到的,机器学习最终大多涉及解决优化问题。
另一个要点是,许多机器学习中的优化问题或目标函数,都可以用矩阵和向量来表示,有时甚至可以用线性代数来表达。

现在,一个非常方便的工具是,如果你想对一个可以用矩阵和向量表达的函数运行梯度下降,那么矩阵向量微积分就能派上用场。它让你无需手动计算所有偏导数,而是通过观察表达式,就能看出整个梯度向量的形式,而无需单独计算每个偏导数。






上一节我们介绍了矩阵微积分的概念,本节中我们通过一个例子来看看它是如何工作的。


这个例子是经典的线性最小二乘问题,即使不涉及复杂的机器学习,它也是一个很好的起点。

背景是,你有一些数据点。让我画一个一维的示意图:你有一些数据点,它们存在于某个空间中。


在这个一维例子中,输入是一维的,输出也是一维的。输入是 x,输出是 y,y 是你想要预测的值,x 是输入值。如果你想通过线性回归来解决这个问题,你会怎么做呢?这是经典的线性回归场景。




本节课中我们一起学习了矩阵微积分的基本概念及其在机器学习优化问题中的重要性。我们了解到,矩阵微积分可以简化对矩阵和向量表达式的梯度计算,并通过线性最小二乘的例子初步看到了其应用方式。在后续课程中,我们将深入更多具体的规则和案例。
054:概率测度的定义 📊

在本节课中,我们将开始学习概率论。概率论是理解机器学习的核心领域之一。


概述
机器学习的一个标准流程是:我们接收一些训练数据,希望从中学习,并得出适用于整个潜在总体的结论。我们通常使用概率论来建模训练数据的获取方式。例如,我们可以假设数据点是从某个地方“采样”得到的。这种从有限样本的结论推广到更大样本空间的方法,本质上是统计学的内容。而实现统计学所需的工具,正是概率论,因为它定义了“从空间采样”、“概率测度”和“概率分布”的含义。在机器学习中,概率论无处不在,无论是统计机器学习、概率机器学习,还是对学习现象本身的建模,都离不开它。




上一节我们介绍了概率论在机器学习中的重要性,本节中我们来看看概率论的基础——概率测度的定义。

概率测度的定义



要讨论概率论,我们首先需要引入概率测度的概念。我们已经在前面的微积分课程中学习过测度、σ-代数(Sigma代数)和可测空间。如果你还没有看过这些课程,建议你先学习关于σ-代数和测度的内容,因为这是我们今天所有讨论的基础。


以下是对测度和σ-代数的快速回顾:
- σ-代数:在一个样本空间 Ω 上,一个σ-代数 A 是 Ω 子集的集合,满足:
- Ω ∈ A。
- 如果 A ∈ A,那么它的补集 A^c ∈ A。
- 对于可数个集合 A₁, A₂, ... ∈ A,它们的并集 ∪_{i=1}^{∞} A_i ∈ A。
- 测度:在一个可测空间 (Ω, A) 上,一个测度 μ 是一个函数 μ: A → [0, ∞],满足:
- μ(∅) = 0。
- σ可加性:对于A中任意两两不相交的可数集合序列 {A_i},有 μ(∪_{i} A_i) = Σ_{i} μ(A_i)。




概率测度 是一种特殊的测度。在一个可测空间 (Ω, A) 上,一个概率测度 P 是一个函数 P: A → [0, 1],它满足测度的所有性质,并且额外满足:
- 归一化条件:P(Ω) = 1。




用公式表示,概率测度 P 满足:
- 非负性:对于所有 A ∈ A,P(A) ≥ 0。
- 空集为零:P(∅) = 0。
- 可数可加性:对于A中任意两两不相交的可数集合序列 {A_i},有 P(∪_{i} A_i) = Σ_{i} P(A_i)。
- 归一性:P(Ω) = 1。

三元组 (Ω, A, P) 被称为一个概率空间。其中,Ω 是样本空间(所有可能结果的集合),A 是事件域(我们能够谈论概率的事件的集合),P 是概率测度(为每个事件分配一个概率值的规则)。



总结



本节课中我们一起学习了概率论的基础——概率测度的定义。我们了解到,概率测度是一种特殊的测度,它为可测空间中的事件分配一个介于0和1之间的概率值,并且所有可能结果的概率总和为1。由样本空间、事件域和概率测度构成的三元组称为概率空间,它是所有概率论讨论的严格数学基础。理解这个概念,是后续学习概率分布、随机变量和统计推断的关键第一步。
055:概率测度的不同类型 📊


在本节课中,我们将学习概率测度的不同类型。我们已经抽象地了解了概率测度是什么,现在我们将通过具体的例子来建立更直观的理解,这对于后续学习定理和培养直觉非常重要。


离散测度 🎲

上一节我们介绍了概率测度的抽象定义,本节中我们来看看最简单的一种类型:离散测度。


对于离散测度,我们通常有一个有限的概率空间 Ω。这个空间是我们定义σ-代数和概率测度的基础,它是一个有限或可数的集合。


例如,Ω = {x₁, x₂, ...}。它要么是有限的,要么最多是可数的。


在这个集合上的σ-代数,我们通常考虑整个集合的幂集,即由该空间中所有元素可能构成的所有子集。



现在,我们可以通过为所有基本事件分配概率来定义一个概率测度。

我们定义一个概率测度 P,它从σ-代数映射到区间 [0,1]。其方法是为所谓的“基本事件”分配概率。



基本事件是什么意思呢?我想为随机实验的结果是某个特定 x 的概率赋值。例如,考虑一个骰子,我们有六个不同的面(1到6)。我们想说,掷出某个特定点数(比如1点)的概率是多少。





以下是定义离散概率测度的步骤:

- 确定样本空间:样本空间 Ω 是一个有限或可数集合,包含所有可能的基本结果。例如,掷骰子:Ω = {1, 2, 3, 4, 5, 6}。
- 确定σ-代数:通常取为 Ω 的幂集,即所有可能子集的集合。这确保了任何我们关心的事件(如“点数为偶数”)都在可测集合中。
- 分配基本概率:为样本空间中的每一个基本结果 ωᵢ 分配一个概率 pᵢ = P({ωᵢ})。这些概率必须满足两个条件:
- 每个概率都是非负的:pᵢ ≥ 0。
- 所有基本概率之和为1:∑ pᵢ = 1。
- 计算任意事件的概率:对于σ-代数中的任意事件 A(即Ω的任意子集),其概率定义为该事件包含的所有基本结果的概率之和:P(A) = ∑_{ωᵢ ∈ A} pᵢ。





本节课中我们一起学习了概率测度的一种基本类型——离散测度。我们了解到,它适用于结果可数的随机实验,通过为每个基本结果分配概率并求和来计算复杂事件的概率。这是构建概率直觉和进行许多理论推导的重要基础模型。
056:奇异测度


在本节课中,我们将学习测度论中的一个核心概念:奇异测度。这是与绝对连续测度相对立的概念,是理解测度分解定理的基础。
上一节我们介绍了绝对连续测度,本节中我们来看看它的对立面——奇异测度。


奇异测度的定义


设 μ 和 ν 是定义在某个可测空间 (Ω, A) 上的两个测度。


测度 μ 被称为关于测度 ν 是奇异的,如果存在一个可测集 A ∈ A,使得:
ν(A) = 0μ(A^c) = 0(其中A^c是A的补集)

其数学符号记为:μ ⟂ ν。


定义的理解与示例

这个定义的直观含义是,两个测度“生活在”几乎不相交的集合上。一个测度将其全部“质量”赋予某个集合,而另一个测度则在该集合上的测度为零。

以下是理解该定义的关键点:


- 核心思想:
μ和ν的“支撑集”是互不相交的(除了一个零测集)。 - 符号
μ ⟂ ν:表示μ与ν是奇异的。

让我们通过一个具体例子来理解。


示例:狄拉克测度与区间测度

考虑实数集 R 上的两个测度:
- 测度 ν:在区间
[1, 2]上均匀分布的质量(例如勒贝格测度限制在该区间)。 - 测度 μ:在点
0处的狄拉克测度δ₀(即μ({0}) = 1,对其他不包含0的集合测度为0)。


这两个测度是相互奇异的 (μ ⟂ ν 且 ν ⟂ μ)。我们可以这样验证定义:
- 取集合
A = R \ {0}(即去掉点0的全体实数)。 - 对于测度
μ(狄拉克测度):μ(A) = μ(R \ {0}) = 0,因为其所有质量都在点{0}上。 - 对于测度
ν(区间测度):ν(A^c) = ν({0}) = 0,因为区间[1, 2]不包含点0,所以点0的ν测度为0。


因此,满足奇异性的定义条件。狄拉克测度和连续分布(如均匀分布、正态分布)通常是相互奇异的。



本节课中我们一起学习了奇异测度的定义:μ ⟂ ν。它描述了两个测度“支撑集”互不相交的关系,是绝对连续性的对立概念。理解奇异测度是下一步学习勒贝格分解定理的关键,该定理指出任何测度都可以唯一地分解为一个绝对连续部分和一个奇异部分。
057:累积分布函数 📈


在本节课中,我们将要学习概率论中的一个重要概念——累积分布函数。这个概念专门用于描述实数轴上的概率分布,它能够告诉我们随机变量取值小于或等于某个特定值的概率。
累积分布函数的定义

上一节我们介绍了概率测度和概率分布。本节中,我们来看看一个专门针对实数轴概率分布的工具:累积分布函数。



我们假设 P 是一个定义在实数集 R 上的概率测度,其σ-代数为博雷尔σ-代数。

现在,我们定义一个新的函数 F。这个函数从实数集 R 映射到实数集 R。对于任意一个实数 x,函数值 F(x) 被定义为随机变量取值小于或等于 x 的概率。


用公式表示如下:


F(x) = P( (-∞, x] )

一个直观的例子


为了更好地理解,让我们看一个例子。假设我们的概率测度 P 描述的是德国人口的身高分布。

- x = 1.70米:此时,F(1.70) 表示身高小于或等于1.70米的人口占总人口的比例(即概率)。
- x = 1.80米:此时,F(1.80) 表示身高小于或等于1.80米的人口占总人口的比例。


这里的“小于或等于”正是通过区间 (-∞, x] 来体现的。函数 F 将每一个身高值 x 映射到对应人群的累积概率。

累积分布函数的性质



这个函数之所以特别重要,是因为它具有一系列良好的数学性质。虽然我们在此不详细列出所有性质,但可以明确的是,累积分布函数是描述和分析随机变量行为的一个核心工具。



本节课中,我们一起学习了累积分布函数的定义和直观含义。我们了解到,对于实数轴上的概率分布,其累积分布函数 F(x) 给出了随机变量取值不超过 x 的概率。这是一个将概率测度信息“累积”起来的强大函数,在后续的概率论与统计学学习中会频繁用到。
机器学习数学:5:随机变量

在本节课中,我们将介绍随机变量的概念。随机变量是概率论的核心概念之一,它允许我们对样本的特定属性进行建模和测量。
随机变量的直观理解
直观上,随机变量是可以在样本上测量的任何属性。
例如,考虑世界人口。你的概率度量定义在世界上所有人的空间上,它描述了抽样到特定个人的概率。但我们真正感兴趣的属性可能是这个特定个人的身高,或者这个人的收入。在机器学习中,我们甚至可能对其他类型的属性感兴趣。
因此,评估概率空间中基本事件(即基本对象)的属性,通常就是通过随机变量来建模的。
另一个例子是掷两次骰子。你的概率空间由可能得到的基本事件(如(1,2)、(3,4)等)组成。但我们实际感兴趣的是两次结果的总和。这个“总和”就是一个随机变量。
接下来,我们将正式引入这个概念。在概率论中,几乎所有内容都建立在随机变量的基础上。除了概率度量本身,这可以说是最重要的定义之一。
随机变量的形式化定义
我们考虑一个概率空间。设 (Ω, A, P) 为一个概率空间。这里,Ω 是样本空间,A 是σ-代数,P 是概率度量。这个空间包含了我们可以抽样的对象。
然而,我们通常对样本的某些测量结果感兴趣,这些结果往往位于另一个不同的空间中。因此,我们需要第二个空间。我们将其表示为 (Ω̃, Ã),这是另一个可测空间,它将作为目标空间。
现在,我们考虑一个映射,通常用 X 表示(这是随机变量的典型字母)。这个映射的形式是:
X: Ω → Ω̃
这个映射 X 需要满足一个关键条件:它必须是可测的。这意味着对于目标空间 (Ω̃, Ã) 中的任何可测集合 B ∈ Ã,其在 X 下的原像 X⁻¹(B) 必须属于原始概率空间的σ-代数 A。用公式表示就是:
∀ B ∈ Ã: X⁻¹(B) ∈ A
满足这个条件的映射 X 就被称为一个随机变量。它正式地将我们从一个抽象的概率空间,连接到了我们实际关心的、包含测量值(如身高、总和等)的具体空间。
总结

本节课我们一起学习了随机变量的概念。我们从直观的例子入手,理解了随机变量是样本属性的数学抽象。然后,我们形式化地定义了随机变量:它是一个从一个概率空间 (Ω, A, P) 到另一个可测空间 (Ω̃, Ã) 的可测映射 X。这个定义是概率论和统计学后续所有工作的基石,它允许我们将现实世界中的不确定性测量转化为严谨的数学对象进行处理。
059:条件概率

在本节课中,我们将要学习概率论中的一个核心概念——条件概率。条件概率用于描述在已知某个事件已经发生的前提下,另一个事件发生的概率。我们将通过掷骰子的例子来直观理解这个概念,并学习其数学定义和符号表示。
条件概率的直观理解

上一节我们介绍了概率的基本概念。本节中我们来看看条件概率。条件概率是概率论中的关键概念之一,它用于描述在已知另一个事件已经发生的条件下,某个事件发生的概率。




例如,考虑掷两个骰子求点数之和。如果你已经知道第一个骰子的点数是1,那么最终的点数之和就不可能达到12。因为第二个骰子的点数范围是1到6,所以总和最多只能达到7。
如果第一个骰子显示的是6,那么结果就会不同。因此,根据我对第一个骰子已知信息的不同,对于两个骰子点数之和这一事件,我会得到不同的概率分布。这正是条件概率分布想要建模的情况。
事件运算符号


在正式开始之前,我想再介绍一个之前未提及的符号,因为后续会频繁使用。




我们经常会讨论两个事件的概率。设A和B是σ-代数中的两个元素(即两个事件)。我们想讨论它们的交集 A ∩ B 的概率。

P(A ∩ B) 直观上表示事件A和事件B同时发生的概率。假设这是我们的样本空间Ω,这是事件A,这是事件B。它们的交集就是中间重叠的部分。一个样本点属于交集,当且仅当它既属于A也属于B。

理解这个符号非常重要。交集符号 ∩ 表示逻辑“与”(and)。


当然,我们还有并集 A ∪ B,其概率 P(A ∪ B) 表示事件A或事件B发生的概率。用图形表示,第一个是A与B的交集,而A或B的并集则是包含A和B在内的整个区域。它可以是A或B中的任何一个,甚至可以同时包含交集中的部分,但整体上代表A或B发生。

条件概率的定义

现在,我们正式引入条件概率的定义。


设 (Ω, A, P) 是一个概率空间,B ∈ A 是一个事件,且 P(B) > 0。那么,在给定事件B发生的条件下,事件A发生的条件概率定义为:


P(A | B) = P(A ∩ B) / P(B)

这个公式可以理解为:在事件B发生的“新世界”里,事件A发生的概率,等于A和B同时发生的概率(P(A ∩ B))占事件B发生的概率(P(B))的比例。


总结


本节课中我们一起学习了条件概率。我们首先通过掷骰子的例子直观理解了条件概率的含义:已知部分信息会如何改变我们对事件发生可能性的判断。接着,我们回顾了事件交集 ∩(与)和并集 ∪(或)的符号及其概率含义。最后,我们给出了条件概率的正式数学定义 P(A | B) = P(A ∩ B) / P(B),这是概率论和机器学习中后续学习贝叶斯定理等概念的基础。
060:贝叶斯定理 📊

在本节课中,我们将学习概率论中两个极其重要的工具:全概率公式与贝叶斯定理。贝叶斯定理不仅是概率论的核心,也是统计学和机器学习中许多算法的基础,尤其在概率机器学习领域应用广泛。


全概率公式
上一节我们介绍了条件概率,并强调了事件顺序的重要性。本节中,我们首先来看一个将复杂事件概率分解为条件概率之和的公式——全概率公式。
考虑一个概率空间。设有一组事件 B₁, B₂, ..., Bₙ,它们两两互斥(即互不相交),并且每个事件都是可测的。同时,我们考虑另一个事件 A。
全概率公式指出,事件 A 的概率可以通过考虑所有可能发生的情况 Bᵢ 来求得。具体公式如下:


P(A) = Σᵢ P(A | Bᵢ) P(Bᵢ)




这个公式的含义是:事件 A 的总概率,等于在所有不同条件 Bᵢ 下 A 发生的条件概率,乘以该条件 Bᵢ 本身发生的概率,然后对所有可能条件求和。

例如,设 B₁ 为“下雨”,B₂ 为“不下雨”,A 为“我去远足”。那么“我去远足”的总概率 P(A),就等于“下雨时我去远足”的概率 P(A|B₁) 乘以“下雨”的概率 P(B₁),加上“不下雨时我去远足”的概率 P(A|B₂) 乘以“不下雨”的概率 P(B₂)。
贝叶斯定理


理解了全概率公式后,我们就可以推导出本节课的核心——贝叶斯定理。它为我们提供了在已知 P(A|B) 的情况下,计算 P(B|A) 的方法。



贝叶斯定理的公式如下:

P(B | A) = [P(A | B) P(B)] / P(A)


其中,分母 P(A) 通常可以利用全概率公式进行计算:

P(A) = Σᵢ P(A | Bᵢ) P(Bᵢ)

因此,完整的贝叶斯定理可以写为:
P(Bⱼ | A) = [P(A | Bⱼ) P(Bⱼ)] / [Σᵢ P(A | Bᵢ) P(Bᵢ)]



这个定理极其强大。它允许我们在获得新证据(事件 A 发生)后,更新我们对某个假设(事件 Bⱼ)发生的信念(概率)。P(Bⱼ) 被称为先验概率,即我们在看到证据前的初始信念。P(Bⱼ|A) 被称为后验概率,即我们在看到证据 A 后更新过的信念。P(A|Bⱼ) 被称为似然。
总结

本节课中我们一起学习了概率论中两个关键公式:
- 全概率公式:用于将一个复杂事件的概率分解为一系列条件概率的加权和。
- 贝叶斯定理:用于在已知“结果”发生的条件下,逆推“原因”发生的概率。它是连接先验概率与后验概率的桥梁,在统计推断和机器学习中有着根本性的重要应用。



掌握这两个公式,是理解更高级概率模型和机器学习算法的重要基础。
061:独立性 🎲



在本节课中,我们将要学习概率论中的一个核心概念——独立性。我们将探讨如何定义两个事件是否相互独立,并通过掷骰子的例子来理解其直观含义和应用。
上一节我们介绍了条件概率,它用于表达一个事件对另一个事件的影响程度。本节中我们来看看与之相对的概念——独立性。

独立性定义




我们始终在一个概率空间 (Ω, A, P) 中进行讨论。现在考虑两个事件 A 和 B,它们都属于σ-代数 A。


我们称事件 A 和 B 是独立的,如果它们满足以下性质:事件 A 与 B 同时发生的概率,等于事件 A 发生的概率乘以事件 B 发生的概率。


用公式表示如下:


P(A ∩ B) = P(A) * P(B)

其中,符号 ∩ 表示交集,即“A 且 B”。


直观理解与例子


为了理解这个定义,我们可以回想之前经常使用的模型,例如掷两个骰子。

我通常的做法是:第一个骰子每个面出现的概率是 1/6,第二个骰子每个面出现的概率也是 1/6。我们通常假设第一个骰子的结果不会影响第二个骰子的结果。
因此,第一个骰子掷出五点且第二个骰子掷出三点的概率,简单地就是这两个概率的乘积。在均匀分布的情况下,这个概率就是 (1/6) * (1/6) = 1/36。


这正是因为我们相信这两个骰子是相互独立的。


另一种理解方式是观察以下事实:如果事件 A 的发生概率不因事件 B 是否发生而改变,那么这两个事件就是独立的。例如,掷一个骰子得到“2点”这个事件,通常与“今天是晴天”这个事件是独立的,因为天气通常不会影响骰子的结果。



本节课中我们一起学习了独立性的定义:两个事件 A 和 B 独立,当且仅当 P(A ∩ B) = P(A) * P(B)。我们通过掷骰子的例子理解了其直观意义,即一个事件的发生不会影响另一个事件发生的概率。这是构建更复杂概率模型(如多次独立试验)的基础。
062:离散型随机变量的期望值 📊

在本节课中,我们将学习概率论中一个核心概念:期望值。期望值描述了一个随机变量的“平均值”或“中心趋势”,是机器学习中评估模型性能(如测试误差)的关键工具。在介绍了概率测度、独立性、条件分布等基础概念后,我们现在转向如何描述随机变量本身。
期望值,以及后续将学习的偏差(如方差),是贯穿机器学习理论的两个关键概念。本节我们将从直观的离散型随机变量入手,建立对期望值的理解,为后续学习连续型情况下的积分定义打下基础。
离散型随机变量的期望定义


首先,我们考虑一个离散型随机变量 X,它从一个样本空间 Ω 映射到实数集 R。需要说明的是,当我们谈论期望值时,通常针对的是实值随机变量,因为计算“平均值”至少需要向量空间的结构。




期望值的直观想法是:如果我们能无限次重复同一个随机实验,随机变量 X 所有可能取值的长期平均值就是它的期望。对于离散情况,其数学定义如下:



定义:设 X 是一个离散型随机变量,其可能取值为 x₁, x₂, x₃, …,对应的概率为 P(X = xᵢ)。则 X 的期望值(或称均值)E[X] 定义为:
E[X] = Σᵢ (xᵢ * P(X = xᵢ))
其中,求和遍历 X 的所有可能取值。


这个公式可以理解为:将每个可能的结果乘以其发生的概率,然后将所有这些乘积相加。

期望值的性质
理解了期望的定义后,我们来看看它的一些重要性质。这些性质在简化计算和理解随机变量行为时非常有用。



以下是期望值的几个关键性质:
- 线性性:对于任意常数 a, b 和随机变量 X, Y,有 E[aX + bY] = aE[X] + bE[Y]。这是期望值最重要、最常用的性质。
- 常数期望:常数 c 的期望就是它本身,即 E[c] = c。
- 单调性:如果随机变量 X 总是小于等于 Y(即 X ≤ Y 总是成立),那么 E[X] ≤ E[Y]。
- 独立变量的乘积:如果 X 和 Y 是相互独立的随机变量,那么 E[XY] = E[X]E[Y]。


期望值在机器学习中的应用


现在,让我们看看期望值在机器学习中的具体作用。它为我们提供了一种量化不确定性和模型性能的理论工具。
在机器学习中,期望值的一个典型应用是评估模型的泛化误差。我们无法获得所有可能的数据,因此将模型在未知测试集上的误差视为一个随机变量,其期望值代表了模型的平均性能。学习理论的许多工作都致力于分析和估计这个期望值,并控制实际误差围绕该期望值的波动(即偏差)。
总结




本节课中,我们一起学习了概率论的核心概念——期望值在离散型随机变量情况下的定义与性质。

我们首先明确了期望值描述的是随机变量长期实验下的平均结果,并给出了其离散形式的计算公式 E[X] = Σ (xᵢ * P(X = xᵢ))。接着,我们探讨了期望值的几个基本性质,特别是其线性性,这在计算中极为重要。最后,我们了解了期望值在机器学习,尤其是在模型泛化误差分析中的关键作用。



理解期望值为我们接下来学习衡量随机变量波动性的概念(如方差)奠定了坚实的基础。
063:方差、协方差与相关系数(离散情形)📊

在本节课中,我们将要学习概率论中三个核心概念:方差、协方差与相关系数。这些概念用于量化随机变量的波动性以及不同随机变量之间的关联程度,是理解数据分布和机器学习模型不确定性的基础。
上一节我们介绍了期望,它衡量了随机变量的“平均”或“典型”结果。本节中我们来看看,实际观测值会如何偏离这个期望值。

方差:衡量偏离程度 📏



我们需要工具来衡量随机变量与其期望值之间的偏离程度。最简单的工具就是方差。
考虑两个定义在概率空间 (Ω, A, P) 上、取值于实数 R 的离散随机变量 X 和 Y。我们假设 E[X²] < ∞ 且 E[Y²] < ∞,这个条件保证了方差是可计算的。
随机变量 X 的方差定义如下:



公式:
Var(X) = E[(X - E[X])²]


它计算了 X 与其期望值 E[X] 之差的平方的期望。方差越大,说明数据点越分散;方差越小,说明数据点越集中在期望值附近。

在机器学习中,尤其是在理论分析和实际应用中,我们希望方差较小。因为这意味着我们观测到的实际值很可能非常接近其期望值,预测结果更稳定可靠。

协方差:衡量协同变化 🤝

方差衡量单个变量的波动,而协方差则用于衡量两个随机变量 X 和 Y 之间的协同变化关系。


随机变量 X 和 Y 的协方差定义如下:

公式:
Cov(X, Y) = E[(X - E[X])(Y - E[Y])]


以下是协方差含义的解读:
- 如果
Cov(X, Y) > 0,则X和Y倾向于同时大于或同时小于各自的平均值,即正相关。 - 如果
Cov(X, Y) < 0,则X和Y倾向于一个大于平均值时另一个小于平均值,即负相关。 - 如果
Cov(X, Y) = 0,则称X和Y不相关,但请注意,不相关并不意味着独立(独立一定不相关,反之不一定成立)。

相关系数:标准化的关联强度 🔗

协方差的大小受 X 和 Y 自身量纲(方差)的影响,不便于直接比较不同对变量之间的关联强度。因此我们引入相关系数,它是标准化后的协方差。

随机变量 X 和 Y 的相关系数 ρ 定义如下:

公式:
ρ(X, Y) = Cov(X, Y) / (√Var(X) * √Var(Y))


相关系数具有以下重要性质:
- 它的取值范围在
-1到1之间,即-1 ≤ ρ ≤ 1。 ρ = 1表示完全正相关,ρ = -1表示完全负相关。ρ = 0表示不相关。- 相关系数消除了量纲影响,纯粹地反映了变量间线性关系的强度和方向。



本节课中我们一起学习了方差、协方差和相关系数这三个核心概念。方差量化了单个随机变量的离散程度;协方差描述了两个变量变化的协同性;而相关系数则提供了标准化、无量纲的关联强度度量。理解这些概念是分析数据不确定性、特征关系以及构建稳健机器学习模型的关键一步。在后续课程中,我们还将看到更精密的工具(如集中不等式)来刻画这种偏离。
064:期望与协方差(一般情形)📈

在本节课中,我们将学习期望和方差在一般概率空间中的定义。我们已经了解过离散情形下的这两个概念,现在将推广到更一般的设置,其中随机变量可以是任何可测函数,而不仅仅是离散的。
从离散到一般的过渡 🔄

上一节我们介绍了离散随机变量的期望与方差。本节中,我们来看看如何将这些概念推广到任意概率空间和任意随机变量的情形。本质上,当我们从离散转向连续(或更一般)时,需要将求和替换为积分,并且必须确保所做的定义是合理的。
定义 L^k 空间 📊


首先,我需要定义一个称为 L^k(Ω, A, P) 的空间。

这个空间包含了所有满足以下条件的函数:它们是可测的,并且其 k 次幂是可积的。具体来说,这些函数 X 从样本空间 Ω 映射到实数集 R。
- 可测性:X 是 A-可测的。
- 可积性:函数 |X|^k 关于概率测度 P 的积分是有限的。其数学表达式为:
∫ |X(ω)|^k dP(ω) < ∞

如果你不熟悉在任意空间上关于任意测度的积分,可以简单地理解为:对于一个取值于 R 的随机变量,如果我们有一个概率密度函数,那么就可以关于该密度函数进行积分。但上述定义方式是为了涵盖最一般的情形。

现在考虑以下标准设置:设 (Ω, A, P) 是一个概率空间。我们考虑一个随机变量 X: Ω → R,它有一个分布 P_X(有时也记作 X_*P,即 X 诱导的测度)。


期望的定义 🎯
基于上述准备,我们现在可以定义随机变量 X 的期望。


期望 定义为随机变量 X 关于其自身分布 P_X 的积分。其数学表达式为:
E[X] = ∫ x dP_X(x)
这个定义是合理的,因为如果 X 属于 L^1 空间(即其绝对值的积分有限),那么这个积分就是有限的。

为了帮助你理解,这里有一些直观的解释:

- 如果 X 是离散型随机变量,其分布由概率质量函数 (PMF) p(x) 描述,那么期望就是加权和:
E[X] = Σ x * p(x) - 如果 X 是连续型随机变量,其分布由概率密度函数 (PDF) f(x) 描述,那么期望就是积分:
E[X] = ∫ x * f(x) dx

以上两种常见情形都是这个一般定义的特例。


方差与协方差的定义 🔗

定义了期望之后,我们可以进一步定义方差和协方差。
方差 衡量的是随机变量与其期望的偏离程度的平方的平均值。其数学定义为:
Var(X) = E[(X - E[X])^2]


协方差 衡量的是两个随机变量之间的线性相关程度。对于随机变量 X 和 Y,其协方差定义为:
Cov(X, Y) = E[(X - E[X])(Y - E[Y])]
以下是关于方差和协方差的一些关键性质:


- 方差公式:方差通常也通过以下公式计算,它有时更为方便:
Var(X) = E[X^2] - (E[X])^2 - 协方差与方差的关系:一个随机变量与自身的协方差就是其方差:
Cov(X, X) = Var(X) - 线性性质:期望算子 E[·] 是线性的。对于任意常数 a, b 和随机变量 X, Y,有:
E[aX + bY] = aE[X] + bE[Y]
基于此,协方差公式也可以展开为:
Cov(X, Y) = E[XY] - E[X]E[Y]


总结 📝

本节课中,我们一起学习了期望与方差在一般概率空间中的定义。


- 我们首先定义了 L^k 空间,它包含了所有 k 次可积的可测函数,这是定义期望的数学基础。
- 接着,我们给出了随机变量 期望 的一般定义:E[X] = ∫ x dP_X(x)。这个定义统一了离散(求和)和连续(积分)的情形。
- 最后,我们基于期望定义了 方差 和 协方差,并介绍了它们的基本计算公式和性质,例如
Var(X) = E[X^2] - (E[X])^2和Cov(X, Y) = E[XY] - E[X]E[Y]。

理解这些一般化的定义是深入学习概率论和机器学习中更高级概念的重要基石。
065:随机变量的重要不等式 📊


在本节课中,我们将学习随机变量理论中两个基础但至关重要的不等式:马尔可夫不等式和切比雪夫不等式。在介绍它们之前,我们首先会回顾一个我们已经接触过的不等式——柯西-施瓦茨不等式在概率论中的形式。

回顾:柯西-施瓦茨不等式
上一节我们讨论了随机变量的期望与方差。本节中,我们先来看看柯西-施瓦茨不等式在概率空间中的表述。这个不等式在线性代数中我们已经见过,它描述了内积与向量范数之间的关系。在概率论中,它可以表述为随机变量乘积的期望与其二阶矩的关系。

柯西-施瓦茨不等式(概率版本):
假设 X 和 Y 是定义在某个概率空间 (Ω, A, P) 上的随机变量,且属于 L² 空间(即它们的二阶矩存在)。那么,以下不等式成立:



E[|XY|]² ≤ E[X²] * E[Y²]
其中 E[·] 表示数学期望。这个不等式表明,两个随机变量乘积的期望的平方,不会超过它们各自平方的期望的乘积。

核心不等式:马尔可夫不等式与切比雪夫不等式



在回顾了柯西-施瓦茨不等式之后,我们现在转向本节课的核心内容:马尔可夫不等式和切比雪夫不等式。它们是概率论中用于估计随机变量取值概率的有力工具。
马尔可夫不等式

马尔可夫不等式提供了一个非负随机变量超过某个特定值的概率上界。它的表述非常简洁。


马尔可夫不等式:
设 ε 是任意大于零的实数。考虑一个非负的随机变量 X(即 X ≥ 0)。那么,对于任意 a > 0,有:
P(X ≥ a) ≤ E[X] / a

这个不等式意味着,一个非负随机变量取大值的概率,受到其期望值的限制。期望值越小,它取大值的概率就越低。



以下是理解该不等式的关键点:
- 适用对象:必须是非负随机变量。
- 核心思想:用整体的平均(期望)来控制尾部的概率。
- 直观理解:如果平均值很小,那么出现一个特别大的值的可能性就很低。
切比雪夫不等式

切比雪夫不等式是马尔可夫不等式的一个直接推论,它专门用于估计随机变量偏离其期望值的概率。这对于理解方差的意义至关重要。


切比雪夫不等式:
设 X 是一个随机变量,其期望为 μ = E[X],方差为 σ² = Var(X)。那么,对于任意 k > 0,有:
P(|X - μ| ≥ kσ) ≤ 1 / k²


或者等价地,对于任意 ε > 0:

P(|X - μ| ≥ ε) ≤ σ² / ε²

以下是该不等式的要点:
- 适用对象:任何方差存在的随机变量。
- 核心思想:方差衡量了随机变量分布的离散程度。方差越小,随机变量值聚集在均值附近的可能性就越大。
- 直观理解:它量化了“偏离均值超过
k倍标准差”这件事的概率上限。

总结

本节课中我们一起学习了三个重要的概率不等式:
- 柯西-施瓦茨不等式:建立了随机变量乘积期望与其二阶矩之间的关系。
- 马尔可夫不等式:为非负随机变量超过某阈值的概率提供了一个由期望值决定的上界。
- 切比雪夫不等式:利用方差,给出了随机变量偏离其期望值超过某个范围的概率上界,是理解数据离散程度的关键工具。


这些不等式是概率论和统计学的基石,在机器学习的理论分析中,尤其是在研究算法的收敛性和泛化能力时,会经常用到。
066:二项分布、泊松分布、多元分布 📊



在本节课中,我们将学习几种重要的概率分布,包括离散分布和连续分布。这些分布是后续课程中讨论更复杂概念的基础示例。


离散分布 📈



上一节我们介绍了概率论的基本概念,本节中我们来看看具体的概率分布。首先从离散分布开始。离散分布定义在一个通常是有限或可数的空间上,我们为基本事件分配概率。


均匀分布


最重要的离散分布之一是均匀分布。我们从一个离散的有限集开始。



以下是均匀分布的定义:
- 设有一个包含
n个元素的有限集{1, 2, ..., n}。 - 均匀分布为每个基本事件
i分配相同的概率1/n。


对于一个离散概率分布,定义基本事件的概率就足够了。均匀意味着每个事件具有相同的概率。例如,投掷一个公平的骰子,其每一面出现的概率是 1/6,这就是在数字 1 到 6 上的均匀分布。

因此,当我在离散空间上谈论均匀分布时,指的就是这种分布。


需要特别注意:无法在可数空间上定义均匀分布。事实上,在某些空间上,定义所谓的“均匀分布”并不那么显而易见。



对于一个可数事件的空间,例如有理数集或自然数集,你无法定义一个均匀分布。你可以尝试构思一个证明,来说明为什么在自然数集上不可能存在均匀分布。假设存在一个均匀分布,很快就会推导出矛盾。

我认为这是一个需要理解的重要信息,因为人们常常在寻找反例。我记得自己本科时,就总想构造一个在有理数集上均匀分布的反例。





本节课中我们一起学习了均匀分布这一重要的离散概率分布,并理解了其定义域的限制。在接下来的课程中,我们将以此为基础,探讨更多复杂的分布。
067:随机变量的收敛性 🔄

在本节课中,我们将要学习随机变量的收敛性。随机变量本质上是函数,因此我们可以像讨论函数序列的收敛一样,讨论随机变量序列的收敛。理解不同的收敛概念对于掌握概率论中的核心定理,如大数定律和中心极限定理,至关重要。


基本设定
首先,我们设定一个基本场景。我们考虑一系列随机变量,它们都定义在同一个基础概率空间上。
具体来说,我们有一系列随机变量 X₁, X₂, X₃, ...,每个都是从某个概率空间 (Ω, F, P) 映射到实数域 R 的函数。同时,我们有另一个随机变量 X,通常作为序列 {Xᵢ} 的极限。


用公式表示,即:
Xᵢ: Ω → R,其中 i ∈ ℕ。
X: Ω → R。



收敛性的不同概念

正如在标准函数分析中有多种收敛定义一样,对于随机变量,我们也有多种方式来定义“收敛”。本节中,我们将介绍几种主要的收敛概念。
以下是几种常见的随机变量收敛定义:


- 几乎必然收敛:随机变量序列 {Xₙ} 几乎必然收敛于 X,如果存在一个概率为1的事件,使得在该事件上,Xₙ(ω) 作为函数逐点收敛于 X(ω)。
- 公式:P( { ω ∈ Ω: lim_{n→∞} Xₙ(ω) = X(ω) } ) = 1。
- 记作:Xₙ → X a.s.。


- 依概率收敛:随机变量序列 {Xₙ} 依概率收敛于 X,如果对于任意 ε > 0,当 n 趋于无穷时,Xₙ 与 X 的偏差大于 ε 的概率趋于0。
- 公式:∀ε > 0, lim_{n→∞} P( |Xₙ - X| > ε ) = 0。
- 记作:Xₙ → X in probability。

- 依分布收敛:随机变量序列 {Xₙ} 依分布收敛于 X,如果对于 X 的累积分布函数 F(x) 的所有连续点 x,Xₙ 的累积分布函数 Fₙ(x) 都收敛于 F(x)。
- 公式:lim_{n→∞} Fₙ(x) = F(x),对所有 F(x) 的连续点 x 成立。
- 记作:Xₙ → X in distribution 或 Xₙ →ᵈ X。

- Lᵖ 收敛:对于 p ≥ 1,随机变量序列 {Xₙ} 在 Lᵖ 空间收敛于 X,如果当 n 趋于无穷时,Xₙ 与 X 之差的 p 次方的期望值趋于0。
- 公式:lim_{n→∞} 𝔼[ |Xₙ - X|ᵖ ] = 0。
- 记作:Xₙ → X in Lᵖ。特别地,当 p=2 时称为均方收敛。


收敛概念之间的关系


上一节我们介绍了不同的收敛定义,本节中我们来看看这些概念之间的强弱关系。并非所有收敛方式都是等价的,某些收敛形式蕴含了其他形式。

以下是主要收敛概念之间的蕴含关系:
- 几乎必然收敛 蕴含 依概率收敛。
- Lᵖ 收敛 蕴含 依概率收敛。
- 依概率收敛 蕴含 依分布收敛。


反之则不成立。例如,一个序列可以依概率收敛但不一定几乎必然收敛;可以依分布收敛但不一定依概率收敛。理解这些关系有助于我们在不同场景下选择和使用合适的收敛定理。



总结


本节课中我们一起学习了随机变量收敛性的核心概念。我们首先明确了讨论的基础:定义在同一概率空间上的随机变量序列及其极限。然后,我们详细介绍了几乎必然收敛、依概率收敛、依分布收敛和Lᵖ收敛这四种主要的收敛定义及其数学表述。最后,我们探讨了这些收敛概念之间的强弱关系,了解到“几乎必然收敛”和“Lᵖ收敛”强于“依概率收敛”,而“依概率收敛”又强于“依分布收敛”。掌握这些内容是理解概率论中渐进理论(如大数定律和中心极限定理)的关键基础。
068:Borel-Cantelli定理 📊

在本节课中,我们将学习一个在概率论和机器学习理论中非常有用的工具——Borel-Cantelli定理。这个定理常用于将关于概率收敛的陈述,转化为关于几乎必然收敛的陈述。
概述
上一节我们介绍了概率空间的基本概念。本节中,我们来看看如何描述一个事件序列“无穷经常”发生,并学习Borel-Cantelli定理,它为判断事件发生的极限行为提供了强有力的工具。
概率空间与事件序列

我们首先设定讨论的基础。设有一个概率空间,通常表示为:


公式:(Ω, A, P)


其中:
Ω是样本空间。A是σ-代数(事件域)。P是概率测度。

在这个空间上,我们考虑一个事件序列 {A_n},其中每个 A_n 都是 A 中的一个事件(即 A_n ⊆ Ω 且 A_n ∈ A)。


“无穷经常”发生的概念

在分析事件序列时,一个核心问题是:某个样本点 ω ∈ Ω 是否属于序列中无穷多个事件。我们用“无穷经常”来描述这一现象。

定义:对于样本点 ω,如果存在无穷多个下标 n 使得 ω ∈ A_n,则称事件序列 {A_n} 对 ω 无穷经常 发生。
所有满足此条件的 ω 构成的集合记为:
公式:{A_n i.o.} = { ω ∈ Ω : ω 属于无穷多个 A_n }
相应地,该集合的概率记为 P(A_n i.o.)。


为了更精确地描述这个集合,我们可以用集合运算来表示它:

公式:{A_n i.o.} = ∩_{m=1}^{∞} ∪_{n=m}^{∞} A_n

这个公式的含义是:对于任意大的整数 m,总存在某个 n ≥ m 使得 ω ∈ A_n。这正是“无穷经常”发生的数学表述。

Borel-Cantelli定理

理解了“无穷经常”的概念后,我们现在可以介绍Borel-Cantelli定理。它包含两个部分,分别处理概率和的不同情况。


以下是定理的两个引理:

第一引理:如果事件序列 {A_n} 的概率之和是有限的,即 ∑_{n=1}^{∞} P(A_n) < ∞,那么事件“无穷经常发生”的概率为零。
公式:∑ P(A_n) < ∞ ⇒ P(A_n i.o.) = 0
第二引理:如果事件序列 {A_n} 是相互独立的,并且其概率之和是发散的,即 ∑_{n=1}^{∞} P(A_n) = ∞,那么事件“无穷经常发生”的概率为一。
公式:{A_n} 独立 且 ∑ P(A_n) = ∞ ⇒ P(A_n i.o.) = 1

第一引理不需要独立性假设,而第二引理则要求事件相互独立。


定理的应用意义

Borel-Cantelli定理之所以强大,在于它建立了事件发生的概率(P(A_n))与其极限行为(P(A_n i.o.))之间的直接联系。
- 从概率收敛到几乎必然收敛:在机器学习理论中,我们经常证明某个估计量依概率收敛到真值。Borel-Cantelli定理可以帮助我们在更强的条件下(例如概率和收敛),推导出该估计量是几乎必然收敛的。
- 判断长期行为:该定理允许我们通过计算相对容易处理的概率和
∑ P(A_n),来判定事件A_n在长期试验中是否会几乎必然发生无穷多次,或者几乎必然只发生有限次。


总结

本节课中我们一起学习了Borel-Cantelli定理。我们首先定义了事件“无穷经常”发生的概念,然后介绍了该定理的两个部分:第一引理指出概率和有限时事件几乎必然只发生有限次;第二引理指出在事件独立且概率和发散时,事件几乎必然发生无穷多次。这个定理是连接概率收敛与几乎必然收敛的重要桥梁,在概率论和统计学习理论中有着广泛的应用。
069:大数定律与中心极限定理 📊

在本节课中,我们将要学习概率论中两个极其重要且基础的核心定理:大数定律和中心极限定理。它们是理解随机现象长期行为和统计推断的基石。

上一节我们介绍了概率论的基本概念,本节中我们来看看这两个关键的极限定理。
大数定律 📈


首先,我们介绍大数定律。它描述了当独立重复试验的次数趋于无穷时,样本均值会收敛到理论期望值。


强大数定律
考虑定义在同一概率空间 (Ω, A, P) 上,取值于实数域 R 的随机变量序列 X_n。我们假设它们是独立同分布的。


以下是IID(独立同分布)的具体含义:
- 同分布:所有随机变量
X_1, X_2, X_3, ...都服从同一个概率分布P。 - 独立:随机变量之间相互独立,即一个随机变量的结果不影响另一个的结果。

我们假设均值存在,即 μ = E[X_1] < ∞。同时,我们假设方差也存在,即 Var(X_1) = σ^2 < ∞。

在这些假设下,强大数定律指出,样本均值几乎必然收敛于总体均值 μ。用公式表示为:


(X_1 + X_2 + ... + X_n) / n → μ (当 n → ∞ 时,几乎必然收敛)

这意味着,随着样本量 n 的增大,我们通过实验得到的平均值会无限接近理论上的期望值。


中心极限定理 🎯


上一节我们介绍了大数定律,它描述了样本均值的收敛点。本节中我们来看看中心极限定理,它则描述了样本均值在收敛过程中的分布形态。

中心极限定理指出,无论原始随机变量 X_i 服从何种分布(只要满足一定条件),其样本均值的标准化形式,随着样本量 n 增大,其分布会趋近于一个标准正态分布。
用公式描述,对于独立同分布的随机变量序列 X_i,其均值为 μ,方差为 σ^2,则:


√n * ( (X̄_n - μ) / σ ) → N(0, 1) (依分布收敛)

其中 X̄_n = (X_1 + ... + X_n) / n 是样本均值,N(0,1) 表示标准正态分布。

这个定理的威力在于其普适性。它解释了为什么在自然界和社会科学中,许多随机变量的和或平均值都近似服从正态分布。

总结


本节课中我们一起学习了概率论的两个核心极限定理。


- 大数定律告诉我们,在长期或大量重复下,随机事件的频率会稳定于其概率,样本均值会趋近于总体期望。这是统计估计的理论基础。
- 中心极限定理则揭示了,无论个体分布如何,大量独立随机变量之和的标准化形式会趋向于正态分布。这为参数估计、假设检验等统计推断方法提供了关键依据。

理解这两个定理,是掌握更高级机器学习算法和统计模型的重要前提。
070:集中不等式 🎯


在本节课中,我们将要学习集中不等式。这是机器学习理论中至关重要的工具,用于量化有限样本的经验估计与真实期望值之间的差距,并分析这种差距随样本量增加而收敛的速度。


概述

上一节我们介绍了大数定律,它指出样本的经验均值会收敛于其分布的期望值。然而,大数定律只告诉我们最终会收敛,但没有说明收敛的速度有多快。本节中,我们来看看集中不等式,它能提供更精确的界限,告诉我们需要多少样本才能以高概率保证经验均值接近真实均值。这在机器学习中评估模型在有限训练数据上的性能时尤其重要。


动机:随机投影的应用


为了理解集中不等式的重要性,我们先看一个在机器学习中常见的应用场景:随机投影。在许多算法中,我们需要处理高维数据,而集中不等式是分析此类技术性能的理论基础。

从大数定律到集中不等式


我们已经知道,对于独立同分布的样本,其经验均值会收敛到真实期望。用公式表示,对于随机变量 ( X_1, ..., X_M ),有:


[
\bar{X}M = \frac{1}{M} \sum^{M} X_i \quad \xrightarrow[M \to \infty]{\text{概率}} \quad \mathbb{E}[X]
]


在机器学习中,我们经常在训练数据上计算某些量(如训练误差、测试误差),我们最终关心的是:基于有限样本计算出的性能指标,与真实的期望性能(即模型在全体数据分布上的表现)有多接近。
大数定律只保证了当样本量 ( M ) 趋于无穷时,两者会相等。但我们更关心的是收敛的速度,即需要多少样本才能确保经验均值非常接近真实均值。
为了证明这类关于收敛速度的陈述,标准工具就是集中不等式。我们已经见过一些较弱的不等式,例如切比雪夫不等式,它也能关联经验值与真实值之间的距离,但集中不等式通常能提供更强、更紧的界限。





相关资源


如果你对这个主题的文献感兴趣,虽然这不是我推荐教材的一部分,但有一本由Boucheron、Lugosi和Massart合著的专著《Concentration Inequalities》全面涵盖了所有相关内容。此外,也有一些综述性论文,例如2002年由Boucheron、Lugosi等人撰写的一篇名为《Introduction to Concentration Inequalities》的概述。
无论如何,集中不等式是机器学习,特别是学习理论中无处不在的工具。不了解集中不等式,几乎无法进行深入的理论研究。



总结



本节课中我们一起学习了集中不等式的核心概念及其重要性。我们回顾了大数定律的局限性,并引出了集中不等式作为量化有限样本估计误差与收敛速度的强有力工具。我们还通过随机投影的例子,初步了解了其在机器学习中的关键应用。在接下来的课程中,我们将深入探讨几个具体的集中不等式及其证明。
071:乘积空间与联合分布 📊


在本节课中,我们将要学习如何处理多个随机变量。在机器学习中,我们通常需要同时处理多个随机变量,这些变量可能描述了我们感兴趣对象的不同特征。例如,描述一个分子时,其重量、形状参数等都可以被视为随机变量。这些变量通常不是独立的,因为它们共同描述了同一个对象。因此,我们需要理解联合分布的概念,以及当变量独立或不独立时,联合分布有何不同。
从单个变量到多个变量 🔄




上一节我们介绍了单个随机变量的基本概念。本节中,我们来看看当涉及多个随机变量时,如何构建数学模型。


在机器学习中,我们通常不只处理一个随机变量,而是处理许多随机变量。这些随机变量可能描述了你感兴趣事物的不同特征。例如,假设你想描述分子,你可能有分子的重量,还有一些描述分子形状的参数。因此,你会有许多不同的参数,每个参数在我们的模型设定中都可以被视为一个随机变量。所有这些变量共同描述了这个分子。


当然,这些随机变量通常完全不独立,因为它们都描述了同一种分子,并且可能存在许多关联。所以,我们现在需要发展的一个概念是:当我们有多个随机变量时,什么是联合分布?以及当它们独立或不独立时,联合分布有何区别。


在后续课程中,我们还会探讨相反的问题:如果你有一个联合分布,那么边际分布是什么?如果你想从整体回到单个随机变量,以及条件分布是什么。今天,我们从联合分布和乘积空间开始。
定义乘积空间 🧱



让我们尝试将其写下来。为了简单起见,我们现在只考虑两个变量。你也可以考虑有限多个变量,但为了简便,我只为两个变量写下定义。

考虑两个可测空间:(Ω₁, A₁) 和 (Ω₂, A₂)。这些是两个随机变量的像空间。



首先,我们需要思考:如何为映射到这两个不同空间的两个随机变量建模?它们的联合对象会是什么?为此,我们首先需要定义什么是乘积空间。

我们现在定义乘积空间。首先,它简单地是两个输入空间的乘积。这通常就是集合的笛卡尔积。


乘积空间的元素是有序对,形式为 (ω₁, ω₂),其中 ω₁ ∈ Ω₁,ω₂ ∈ Ω₂。




本节课中我们一起学习了多个随机变量的必要性,并引入了为它们建模所需的乘积空间概念。我们了解到,多个随机变量(如描述分子的不同参数)通常不是独立的,因此需要研究它们的联合分布。我们开始构建基础,定义了两个随机变量像空间的笛卡尔积作为乘积空间,这是理解联合分布的第一步。在接下来的课程中,我们将基于此乘积空间进一步探讨联合分布、边际分布和条件分布的具体形式与关系。
072:边缘分布

在本节课中,我们将要学习边缘分布的概念。上一节我们介绍了联合分布,本节中我们来看看如何从联合分布中提取出单个变量的分布信息,这就是边缘分布。
从联合分布到边缘分布


我们考虑两个随机变量 X₁ 和 X₂ 的联合分布,可以将其总结为一个向量 X = (X₁, X₂)。
现在,我们想要定义 X 关于 X₁ 的边缘分布。这其实就是忽略第二个变量 X₂,只关注第一个变量 X₁ 的分布。从数学上讲,它就是 X₁ 自身的原始分布 P(X₁)。

听起来很简单,但有时这个概念会让人感到困惑。为了更好地理解,我们先看一个离散情况下的例子。

离散情况下的例子

在离散情况下,假设我们有两个随机变量。变量 X₁ 可以取三个值:x₁、x₂ 和 x₃。变量 X₂ 可以取两个值:y₁ 和 y₂。

它们的联合概率分布可以用一个表格来表示。以下是这个联合分布的示例表格:
| y₁ | y₂ | 边缘 P(X₁) | |
|---|---|---|---|
| x₁ | 0.1 | 0.2 | 0.3 |
| x₂ | 0.3 | 0.1 | 0.4 |
| x₃ | 0.2 | 0.1 | 0.3 |
| 边缘 P(X₂) | 0.6 | 0.4 | 1 |

在这个表格中,中间单元格的数字是联合概率 P(X₁ = xᵢ, X₂ = yⱼ)。例如,P(X₁ = x₁, X₂ = y₁) = 0.1。

那么,如何得到 X₁ 的边缘分布呢?方法是将表格中每一行的概率值相加。以下是计算步骤:

- 对于 X₁ = x₁:
P(X₁ = x₁) = 0.1 + 0.2 = 0.3 - 对于 X₁ = x₂:
P(X₁ = x₂) = 0.3 + 0.1 = 0.4 - 对于 X₁ = x₃:
P(X₁ = x₃) = 0.2 + 0.1 = 0.3

这些计算结果(0.3, 0.4, 0.3)就构成了 X₁ 的边缘分布,它们显示在表格最右侧的“边缘 P(X₁)”一列中。同理,将每一列相加,就得到了 X₂ 的边缘分布(0.6, 0.4),显示在表格最下方的“边缘 P(X₂)”一行中。
连续情况下的边缘分布

理解了离散情况后,我们来看连续情况。当随机变量有概率密度函数时,计算边缘分布的原理是相同的,只不过求和变成了积分。

假设有两个连续随机变量 X 和 Y,它们的联合概率密度函数为 f_{X,Y}(x, y)。

那么,X 的边缘概率密度函数 f_X(x) 可以通过对 y 积分来获得:
f_X(x) = ∫ f_{X,Y}(x, y) dy

同样地,Y 的边缘概率密度函数 f_Y(y) 可以通过对 x 积分来获得:
f_Y(y) = ∫ f_{X,Y}(x, y) dx

这个积分过程,在几何上可以理解为将联合概率密度曲面“压扁”到某个坐标轴上,从而得到在该轴上的投影(即密度)。

总结

本节课中我们一起学习了边缘分布。我们从联合分布出发,理解了边缘分布就是忽略其他变量后,单个变量的概率分布。在离散情况下,通过将联合概率表的行或列相加来计算;在连续情况下,则通过对联合概率密度函数进行积分来计算。掌握边缘分布是理解更复杂概率概念(如条件分布、独立性)的重要基础。
073:条件分布 📊


在本节课中,我们将要学习概率论中的最后一个核心概念——条件分布。我们已经了解了联合分布和边缘分布,条件分布将帮助我们理解在已知一个随机变量取特定值时,另一个随机变量的行为。

联合分布与边缘分布回顾

上一节我们介绍了联合分布和边缘分布。联合分布关注两个随机变量 X 和 Y 同时发生的概率。边缘分布则是通过“积分掉”或“求和掉”其中一个变量,来关注另一个变量的概率分布,本质上是从联合分布中简化出单一变量的信息。


条件分布简介

现在,我们来看第三种处理方式:条件化。当我们有两个随机变量 X 和 Y 时,我们可以问:如果我已经知道 Y 取某个特定值,那么关于 X 我能知道什么?这便引出了条件分布的概念。


从条件概率到条件分布

我们的起点是条件概率。核心问题是如何将事件的条件概率转化为概率分布或概率测度。


我们将看到,在某些情况下这很容易,但一般情况却出人意料地困难,本课程甚至不会涉及一般情况的处理。

离散情况下的条件分布


让我们先尝试看看离散情况。

我们知道事件的条件概率。如果 A 和 B 是两个事件,我们可以考察在事件 B 发生的条件下,事件 A 发生的概率。



对于定义在某个σ-代数中的事件 A 和 B,条件概率的定义如下:

公式: P(A|B) = P(A ∩ B) / P(B)
这里有一个重要前提:事件 B 的概率 P(B) 必须大于零。因为定义中需要除以 P(B),而分母不能为零。




现在,这是针对事件的。但我们真正想要的是,在给定事件 B 的条件下,考察事件 A 的概率分布。我们该如何看待这个分布呢?



本节课中,我们一起学习了条件分布的基本思想。我们从回顾联合分布和边缘分布开始,引入了条件分布的概念,即研究在已知一个变量信息时另一个变量的分布。我们明确了其基础是条件概率公式 P(A|B) = P(A ∩ B) / P(B),并特别指出了在离散情况下定义的条件(P(B) > 0)。理解条件分布是理解贝叶斯定理和许多机器学习算法(如朴素贝叶斯分类器)的关键一步。
074:条件期望





在本节课中,我们将学习概率论中的一个核心概念——条件期望。我们将从离散随机变量的简单情况入手,逐步理解其定义和重要性,并探讨其在更一般情况下的应用。
概述




上一节我们介绍了当所有分布都具有密度形式时的条件分布。现在,我们将开始引入一个更一般、更广泛的概念。为了定义一般情况下的条件分布,我们需要理解条件期望。这个概念不仅在标准统计学习中,而且在机器学习的概率方法中也经常出现,例如当我们对某个变量在给定其他变量的条件下进行积分时。
从离散情况开始

条件期望可能是一个复杂的话题。为了建立直觉,我们从最简单的案例开始:两个离散随机变量的条件期望。







假设我们有两个定义在同一概率空间上、取实数值的随机变量 X 和 Y。我们想要计算在已知 X 的某个结果的情况下,Y 的期望值。




在离散情况下,这非常简单。以下是其定义:


定义(离散随机变量的条件期望):
对于离散随机变量 X 和 Y,给定 X = x 时 Y 的条件期望定义为:
E[Y | X = x] = Σ_y (y * P(Y = y | X = x))
其中,求和遍历 Y 的所有可能取值 y,而 P(Y = y | X = x) 是给定 X = x 时 Y = y 的条件概率。





总结



本节课我们一起学习了条件期望的基本概念。我们从离散随机变量的简单定义出发,引入了在已知一个变量信息时计算另一个变量期望值的思想。理解这个基础是掌握更一般、更抽象的条件期望定义的关键。在后续课程中,我们将以此为基础,探讨连续随机变量以及更一般概率空间上的条件期望。
075:统计模型与估计入门 📊


在本节课中,我们将开始学习统计学,特别是传统的频率派统计方法。我们将了解什么是统计模型,并重点探讨点估计的概念,以及如何评估估计量的偏差与方差。


统计模型概述
传统的统计学通常基于一个核心假设:存在一个分布族,而我们观测到的数据是由该族中的某一个特定分布生成的。我们的目标就是基于观测到的样本,从这个族中识别出那个“正确”的分布。



让我们更正式地描述这个设定。
我们假设数据由一个特定的分布族 F 生成。这个族通常由一个参数 θ 来索引,因此可以写作 F = { P_θ : θ ∈ Θ }。其中,Θ 称为参数空间。我们的目标是:给定从某个未知参数 θ* 对应的分布 P_θ* 中抽取的独立同分布样本 X₁, ..., X_n,去估计或推断这个 θ*。



估计量
上一节我们介绍了统计模型的基本框架。本节中,我们来看看如何从数据中得出关于参数 θ 的结论,这需要通过一个称为“估计量”的函数来实现。
一个估计量 是一个将观测数据映射到参数空间 Θ 的函数。也就是说,如果我们有数据 X = (X₁, ..., X_n),那么估计量 T 给出一个估计值:θ̂ = T(X)。

估计量本身是一个随机变量,因为它的输入(数据)是随机的。因此,我们可以讨论它的分布、期望和方差等性质。




以下是两种常见的估计方法:
- 点估计:提供一个单一的数值作为参数的最佳猜测,例如样本均值 μ̂ = (1/n) Σ X_i。
- 区间估计:提供一个数值区间,声称参数以一定的概率落在这个区间内。

本节课我们主要关注点估计。


评估估计量:偏差与方差

我们已经知道,估计量是基于随机样本计算出来的,因此它本身也具有随机性。为了衡量一个估计量的好坏,我们需要一些评价标准。最核心的两个概念是偏差和方差。


偏差 衡量的是估计量的期望值是否与真实参数一致。
- 公式为:Bias(θ̂) = E[θ̂] - θ。
- 如果 Bias(θ̂) = 0,则称估计量 θ̂ 是无偏的。这意味着,如果我们重复多次实验,计算出的估计值的平均值会等于真实参数。

方差 衡量的是估计量自身的波动程度,即估计值围绕其期望值的分散情况。
- 公式为:Var(θ̂) = E[(θ̂ - E[θ̂])²]。
- 方差越小,说明估计量在不同样本下的结果越稳定。
一个理想的估计量是同时具有低偏差和低方差的。然而,在现实中,偏差和方差往往存在权衡,这被称为偏差-方差权衡。




总结


本节课中,我们一起学习了传统频率派统计学的入门知识。我们首先定义了统计模型,即一个由参数索引的分布族。然后,我们引入了估计量的概念,它是根据样本数据对未知参数进行猜测的函数。最后,我们探讨了评估估计量质量的两个核心指标:偏差和方差。理解这些基础概念是后续学习假设检验、置信区间等更复杂统计方法的关键。
076:置信区间 📊

在本节课中,我们将要学习如何构建置信区间。上一节我们介绍了参数估计及其质量评估指标(如偏差、方差)。本节中,我们来看看如何给出一个更具体的概率性陈述,即估计的参数以高概率接近真实参数的范围。


概述

在上一讲中,我们研究了估计问题。我们考察了例如估计某个总体均值的情况。

你构建了一个估计量,然后我们通过偏差、方差或均方偏差来衡量其质量。
现在,这些指标的共同问题是,它们描述的是期望意义上的性质。有时,你可能更想知道一个更具体的陈述:你的估计参数以高概率接近真实参数的程度。




在标准的频率统计中,要给出这种陈述出人意料地复杂。

我们现在要做的是构建置信区间,它旨在传递这类信息。虽然其解释有些微妙,但在频率统计中没有更好的方法,所以让我们来尝试理解它。
置信区间的定义
我们首先定义什么是置信区间。



定义:我们将定义一个 1 - α 置信区间。

其中 α 是一个参数,通常希望它很小,例如 5% 或 1%。


现在,我们来看参数 θ ∈ ℝ 的一个 1 - α 置信区间。θ 是我们要估计的真实参数。


它是一个区间,我们称之为 C_N(基于 N 个样本点的置信区间)。


其形式为 [A_N, B_N],其中 A_N 和 B_N 是实数。

这些数字将依赖于样本。

其中,A_N 是样本 X₁, ..., X_N 的某个函数 A(X₁, ..., X_N)。


B_N 也是样本 X₁, ..., X_N 的一个函数 B(X₁, ..., X_N)。它们是样本的函数。


总结

本节课中,我们一起学习了置信区间的基本概念。我们了解到,置信区间 C_N = [A_N, B_N] 是基于样本数据构建的一个区间,旨在以 1 - α 的概率覆盖未知的真实参数 θ。虽然其频率学派的解释(即关于重复抽样过程的概率)可能有些抽象,但它是量化估计不确定性的一个重要工具。下一节我们将探讨如何具体计算置信区间。
077:最大似然估计量 📈


在本节课中,我们将学习最大似然估计量。这是一种在统计学和机器学习中用于估计模型参数的核心方法。我们将从一个简单的概念回顾开始,然后通过一个具体的图模型例子,来理解如何应用最大似然估计解决复杂问题。

统计估计问题回顾


在之前的课程中,我们探讨了统计估计问题。
我们有一个由参数 θ 描述的概率分布族 P_θ,我们的目标是基于观测数据 X 来估计这个参数 θ。



公式:X ~ P_θ

我们目前做过的例子都非常简单,例如估计分布的均值或方差等。


机器学习中的复杂估计
然而,在机器学习中,我们很少仅仅估计均值或方差。虽然估计均值也有用,但我们通常需要估计更复杂的参数。这时,直接写出估计量的闭式解(解析解)就变得非常困难。



有时你仍然可以写出闭式解,但推导过程并不显而易见。


一个图模型的例子



我想从一个例子开始。这个例子来自我们去年发表的一篇名为《Net Gun Without Gu》的论文。

以下是该场景的描述:我们被给定一个图。在我们的模型中,统计模型由各种图构成。这个集合是所有可能的邻接矩阵。


定义:邻接矩阵 A 是一个 n x n 的对称矩阵,其元素 A_ij 取值要么是0,要么是1。它代表了一个具有 n 个顶点的图的邻接关系。


n 是已知的。这个矩阵代表了某个图的连接情况。
背景思想是:我们有一些图,例如社交网络、大脑连接图或气候网络。为了具体化,假设我们有一个大脑连接图,它有100个顶点,代表大脑的不同区域,如果两个区域相互通信,它们之间就有一条边。


到目前为止,这里还没有引入随机性。矩阵 A 是参数化的,我们知道背后存在一个真实的图。




本节课中,我们一起回顾了统计估计的基本框架,并指出了在机器学习中处理复杂参数估计时面临的挑战。我们引入了一个图模型的例子,为后续讲解如何应用最大似然估计来解决这类非平凡问题做好了铺垫。在接下来的章节中,我们将深入探讨最大似然估计的原理和应用。
078:充分性与可识别性

在本节课中,我们将简要介绍统计学中的两个重要概念:充分性与可识别性。这两个概念对于理解机器学习模型如何从数据中提取和利用信息至关重要。我们将以简单直白的方式解释其核心思想,并辅以公式和代码示例。



充分性

上一节我们介绍了统计推断的基本框架。本节中我们来看看充分性这个概念。


在统计学中,标准流程如下:我们有一个概率分布族,观测到一个样本,然后基于该样本计算一个统计量。一个自然的问题是:当我们把大量样本数据压缩成一个或少数几个数字(即统计量)时,这个压缩后的信息是否足以让我们识别出真正生成数据的那个概率分布?这就是充分性的核心思想。

以下是充分性的正式定义:


- 我们有一个来自某个分布族
P_θ的样本X1, ..., Xn。 - 我们通常将这个样本转换为一个统计量
T(X1, ..., Xn)。在极端情况下,这可能只是一个数字。 - 关键问题是:我们能否仅从这个统计量
T中恢复出真实的参数θ?

我们见过许多令人惊讶的简单例子。例如,如果我们的分布族是正态分布族,那么……




可识别性

理解了充分性后,我们接下来探讨另一个相关概念:可识别性。


可识别性关注的是模型参数本身。具体来说,它询问:不同的参数值 θ 是否一定会产生不同的概率分布 P_θ?如果答案是肯定的,那么这个参数模型就是可识别的。这对于确保我们能够从数据中唯一地估计出参数至关重要。


以下是可识别性的定义:


一个参数化模型 {P_θ : θ ∈ Θ} 被称为可识别的,如果映射 θ → P_θ 是单射。这意味着:
对于任意两个不同的参数 θ1 ≠ θ2,它们对应的概率分布也必然不同,即 P_{θ1} ≠ P_{θ2}。


如果模型不可识别,就意味着存在两个不同的参数对应完全相同的概率分布。在这种情况下,仅凭数据我们无法区分这两个参数,这会给参数估计带来根本性的困难。



本节课中我们一起学习了统计学中的两个基础概念:充分性和可识别性。充分性衡量一个统计量是否包含了关于参数的全部信息;可识别性则确保参数本身能够被数据唯一确定。理解这两个概念有助于我们评估和构建有效的统计与机器学习模型。
079:假设检验、检验水平与功效 🔬

在本节课中,我们将学习统计学中的另一个核心部分:假设检验。我们将了解什么是假设检验,以及如何评估一个检验的“水平”和“功效”。


概述


前几节课我们主要围绕估计问题展开。你有一个来自某个分布的样本,你知道这个分布可以用一个参数来描述,你的目标是估计这个参数。这是传统统计学的一部分。

传统统计学的另一大部分是检验问题。检验问题的形式有所不同。在估计问题中,你首先想了解你可能并不完全清楚的分布信息。而在检验问题中,你有一个具体的假设,你想检验是否应该相信这个假设。


假设检验的应用场景

一个典型的应用场景是在医学领域。假设有一种疾病,有两种药物:药物一和药物二。你有一批病人,你用第一种药物治疗其中一部分,用第二种药物治疗另一部分。对于每种药物,你测量病人从疾病中恢复所需的时间。

通常,你会得到一大片时间数据点。例如,我们可以画一个草图:横轴代表两种药物(D1, D2),纵轴代表恢复所需的天数。对于药物一,你有一个样本 X1, X2, ..., Xn,记录了恢复天数。你可能会观察到一些数据点,比如这里有5天,那里有10天等等。对于药物二,你也会观察到另一组数据点。

核心概念:假设检验



上一节我们介绍了假设检验的应用背景,本节中我们来看看其核心思想。假设检验的核心是提出一个关于总体参数的假设(例如,两种药物的平均恢复时间相同),然后利用样本数据来判断是否有足够的证据拒绝这个假设。


以下是假设检验的基本步骤:
- 建立假设:提出原假设 (H0) 和备择假设 (H1)。原假设通常是希望被检验的、保守的假设。
- 选择检验统计量:根据数据和假设,选择一个合适的统计量(如样本均值差)。
- 确定显著性水平:设定一个阈值 α(通常为0.05),它代表了当原假设为真时,错误地拒绝它的最大概率。
- 计算p值:在原假设成立的条件下,计算得到当前样本观测结果(或更极端结果)的概率。
- 做出决策:如果p值小于显著性水平α,则拒绝原假设;否则,不拒绝原假设。

检验水平与功效


在做出决策时,我们可能会犯两种错误:
- 第一类错误:原假设为真,但我们拒绝了它。犯第一类错误的概率就是显著性水平 α。
- 第二类错误:原假设为假,但我们没有拒绝它。犯第二类错误的概率记为 β。


与第二类错误相对的概念是检验功效。检验功效定义为当备择假设为真时,我们正确拒绝原假设的概率。其公式为:
功效 = 1 - β

一个理想的检验希望同时控制第一类错误(α小)并拥有高功效(1-β大)。然而,在样本量固定的情况下,两者通常存在权衡关系。


总结


本节课中我们一起学习了假设检验的基础知识。我们了解到,假设检验用于对关于总体参数的特定主张进行决策。我们介绍了原假设与备择假设的概念,学习了假设检验的基本步骤,并重点探讨了评估检验好坏的两个关键指标:检验水平 (α) 和 检验功效 (1-β)。理解这些概念对于科学地解读数据、做出可靠推断至关重要。
080:似然比检验与Neyman-Pearson引理 📊

在本节课中,我们将学习如何构建统计检验来比较两个假设。具体来说,我们将探讨一种非常直观且在某些情况下最优的检验方法——似然比检验,并介绍保证其最优性的Neyman-Pearson引理。


回顾:统计检验的基本概念


上一节我们介绍了用于检验两个假设(原假设与备择假设)的标准统计检验概念。
一个统计检验的核心是控制两类错误:
- 第一类错误(Type I Error):当原假设为真时错误地拒绝它。
- 第二类错误(Type II Error):当备择假设为真时未能拒绝原假设。

构建检验时,通常首先固定检验的显著性水平(Level),即控制第一类错误的概率上限。在满足第一类错误约束的众多可能检验中,我们会尝试选择功效(Power)最高(即第二类错误最小)的那个。


我们还引入了一致最大功效检验(Uniformly Most Powerful Test, UMP)的概念,即在给定显著性水平下,对所有可能的备择参数值都具有最高功效的检验。但在实践中,这种理想的UMP检验很少存在。

一种存在最优解的情况:Neyman-Pearson框架


然而,存在一种特殊情况可以找到一致最优的检验,这由Neyman-Pearson引理描述。这种检验被称为似然比检验(Likelihood-Ratio Test),其思想非常直观。
似然比检验的直观思想


我们想要检验一个假设(H0)相对于另一个假设(H1)。在统计学中,我们如何评估某个参数值在给定数据下的合理性?我们计算似然(Likelihood),即在给定特定参数下观测到当前数据的概率。

似然比检验的思想很简单:如果数据在原假设H0下的似然值大于在备择假设H1下的似然值,那么我们倾向于保留H0;反之,则拒绝H0。


Neyman-Pearson引理的形式化描述
现在,让我们将这一直观概念形式化。Neyman-Pearson引理(尽管在文献中称为“引理”,但其结论非常强大)给出了构建最优检验的具体方法。

定理设定:
假设我们要检验一个简单原假设对一个简单备择假设:
- H0: 参数 θ = θ₀
- H1: 参数 θ = θ₁

这里“简单假设”是指参数被设定为一个具体的值,而不是一个集合。

检验构造:
对于给定的显著性水平 α,定义以下检验函数 φ(x):

φ(x) = 1, if L(θ₁; x) / L(θ₀; x) > k
φ(x) = γ, if L(θ₁; x) / L(θ₀; x) = k
φ(x) = 0, if L(θ₁; x) / L(θ₀; x) < k


其中:
L(θ; x)是参数θ在数据x下的似然函数。k和γ是选定的常数,使得检验的水平恰好为 α,即Eθ₀[φ(X)] = α。

引理结论:
按上述方式构造的检验,是所有水平不超过α的检验中,功效最大的检验。也就是说,它在控制第一类错误的同时,最大化检测出备择假设H1为真的概率(即最小化第二类错误)。


总结

本节课我们一起学习了统计推断中一对重要的概念:
- 似然比检验:一种基于比较原假设与备择假设下数据似然值的直观检验方法。
- Neyman-Pearson引理:该引理严格证明,在检验两个简单假设时,基于似然比构造的检验是所有给定水平检验中功效最高的,即它是一致最大功效检验。这为我们在一个特定但重要的场景下找到了最优的决策规则。


理解这个引理是学习更复杂检验(如广义似然比检验)的基础,它体现了在统计决策中权衡两类错误的核心思想。
081:P值 📊

在本节课中,我们将要学习一个在科学研究和数据分析中广泛使用的核心概念——P值。我们将了解它是什么,以及它如何帮助我们量化拒绝一个假设的证据强度。


在之前的课程中,我们学习了假设检验。我们了解了检验水平、检验功效,以及第一类错误和第二类错误。
现在,观察构建检验的典型方式:我们通常首先固定第一类错误概率 α,然后构造一个水平为 α 的检验,它会给出一个“是”或“否”的离散答案,即拒绝或保留原假设。

然而,有时我们不仅想知道“是否拒绝”,还想知道“拒绝这个假设的证据有多强”。这不再是一个二元答案,而是一个实数。这个概念就是 P值,它在许多科学领域中被广泛用于评估数据。


接下来,我将介绍P值是如何工作的。


考虑一个针对某个量的检验,其水平为 α。我们用 R(α) 表示它的拒绝域。原则上,对于每个水平 α,我们都可以定义这样一个拒绝域。
观察可知,α 越小,检验就越严格。我们需要收集更多的证据才能拒绝原假设 H₀。换句话说,α 是第一类错误的概率。α 越小,拒绝域通常也会变小,因此拒绝 H₀ 就变得越困难。直观上这很清晰:如果你想在拒绝假设时犯错的概率非常小,最保险的做法就是永远不拒绝它。



以下是P值的定义方式:

假设我们有一个检验统计量 T 及其观测值 t_obs。P值被定义为:在假设原假设 H₀ 为真的前提下,观测到与当前样本一样极端或更极端结果的概率。
更正式地,对于单边检验(例如,H₁: θ > θ₀),P值可以计算为:
P = P(T ≥ t_obs | H₀)

对于双边检验(例如,H₁: θ ≠ θ₀),P值通常计算为:
P = 2 * min[ P(T ≤ t_obs | H₀), P(T ≥ t_obs | H₀) ]


如何解读P值?

P值提供了一个连续的证据度量,而不是简单的“是/否”决策。以下是解读P值的关键点:

- P值很小(例如 < 0.05):这表明在原假设为真的情况下,观测到当前数据(或更极端数据)的概率很低。这为拒绝原假设 H₀ 提供了证据。
- P值较大(例如 > 0.05):这表明观测结果与原假设相容,没有足够证据拒绝 H₀。但这不意味着原假设为真。
- P值是一个概率:它介于0和1之间。P值越小,反对原假设的证据就越强。


P值与显著性水平 α 的关系:
在实践中,我们通常将P值与一个预先设定的显著性水平 α(如0.05)进行比较。
- 如果 P值 ≤ α,我们就在 α 水平上拒绝原假设。
- 如果 P值 > α,我们则无法拒绝原假设。
这种方法的优点是,P值本身传达了证据的强度。例如,P=0.04和P=0.0001都可能在α=0.05时导致拒绝H₀,但后者提供的证据远比前者强。



需要注意的要点:
- P值不是原假设为真的概率:它是在原假设为真的假设下计算出的概率。
- P值不衡量效应大小或重要性:一个非常小的P值可能来自一个微小的但非常精确测量的效应。效应本身的实际意义需要结合领域知识判断。
- 不要滥用P值:P值是统计工具之一,不应作为决策的唯一依据。需要考虑研究设计、数据质量、效应大小和置信区间等。



本节课中,我们一起学习了P值的概念。我们了解到,P值是一个用于量化拒绝原假设证据强度的统计量,它回答了“在H₀成立的前提下,得到当前观测结果(或更极端结果)的概率是多少”这个问题。通过将P值与显著性水平α比较,我们可以做出统计决策,但更重要的是,P值本身提供了证据强度的连续度量。理解P值的定义、计算和正确解读,对于批判性地评估科学研究结果至关重要。
082:多重检验介绍 🧬

在本节课中,我们将要学习统计学中的一个重要概念——多重检验。当我们同时进行大量假设检验时,传统的检验方法会遇到问题,本节将介绍这些问题的本质。

上一节我们介绍了假设检验的基本框架,本节中我们来看看当这个框架被大规模应用时会发生什么。

假设检验回顾

一个典型的假设检验设置如下:
我们有一个待检验的假设,称为原假设(Null Hypothesis),通常记作 H₀。


我们将其与一个备择假设(Alternative Hypothesis)进行对比,备择假设通常是原假设的补集,记作 H₁。

我们观察一些数据,然后基于这些数据判断是否应该拒绝原假设。
这些检验的构建方式是,首先固定一个检验的显著性水平 α,这是我们可能犯的第一类错误的概率。我们构建的检验期望犯错的概率不超过这个水平(例如5%)。


在确定了检验之后,我们还可以关注第二类错误,其反面就是检验的功效(Power),我们希望功效尽可能高。

多重检验问题

上述整个框架在只进行一次检验时是有效的。

但现在假设你有很多东西需要检验。一个典型的例子是基因表达数据。在生物学研究中,你可能有两组病人:一组20名患者患有某种癌症,另一组20名健康人作为对照组。

你的目标是找出哪些基因可能与这种癌症有关。

以下是该场景的一个简化示例:
我们有一个癌症患者组,假设有20人(n=20)。
我们有一个健康对照组,同样假设有20人。



我们有很多基因,例如基因1,基因2,...,基因1000。我们观察每个基因在每个个体中的激活水平。

为了找出哪些基因在两组间有显著差异,一个自然的想法是:对每一个基因(例如基因1),分别进行一次假设检验。原假设 H₀ 可以是“该基因在两组间的平均表达水平无差异”。

然而,当我们对1000个基因分别进行独立的显著性水平为 α=0.05 的检验时,问题就出现了。
错误率膨胀


即使所有基因实际上都与癌症无关(即所有原假设都为真),我们仍然可能仅仅由于随机波动而错误地拒绝一些原假设。

具体来说,对于单个检验,犯第一类错误的概率是 α(例如5%)。


如果我们独立地进行 m 次检验,那么至少犯一次第一类错误的概率会急剧增加。这个概率称为族错误率(Family-Wise Error Rate, FWER)。

其计算公式为:
FWER = 1 - (1 - α)^m

例如,当 α=0.05, m=1000 时:
FWER ≈ 1 - (1 - 0.05)^1000 ≈ 1 - 0.95^1000 ≈ 1

这意味着,即使没有任何基因真正相关,我们几乎必然会错误地宣称至少一个基因是显著的。这显然是不可接受的。
小结


本节课中我们一起学习了多重检验问题的核心。我们回顾了单次假设检验的基本原理,然后通过基因表达数据的例子,展示了当同时进行大量检验时,传统的显著性水平控制方法会失效,导致第一类错误概率(族错误率)急剧膨胀。在接下来的章节中,我们将探讨如何校正多重检验,以控制这种整体错误率。
083:格利文科-坎泰利定理 📊


在本节课中,我们将学习概率论中的另一个重要极限定理——格利文科-坎泰利定理。该定理描述了经验累积分布函数如何一致收敛于真实的累积分布函数。我们将重点理解其证明思路,因为这种证明方法在统计学习理论中非常典型。



概述
在前面的课程中,我们已经学习了一些概率极限定理。例如,大数定律指出,独立同分布随机变量的经验平均值会收敛于其分布的期望值。中心极限定理则说明,适当归一化的独立随机变量之和在分布上会收敛于标准正态分布。



本节中,我们将介绍格利文科-坎泰利定理。该定理关注的是累积分布函数。当我们从某个潜在分布中观测到大量随机变量时,可以基于这些观测构建一个经验累积分布函数。该定理的核心结论是,这个经验累积分布函数会一致收敛于真实的潜在累积分布函数。

定理陈述与应用



设我们有一个真实的潜在累积分布函数 F(x)。现在,我们从这个分布中观测到 n 个独立同分布的随机变量 X₁, X₂, ..., Xₙ。


基于这些观测,我们可以构建一个经验累积分布函数 Fₙ(x),其定义为:
Fₙ(x) = (1/n) * Σ_{i=1}^{n} I(Xᵢ ≤ x)
其中 I(·) 是指示函数,当条件为真时取值为1,否则为0。

格利文科-坎泰利定理指出,当样本量 n 趋于无穷大时,经验累积分布函数 Fₙ(x) 以概率1一致收敛于真实累积分布函数 F(x)。用公式表示为:
sup_{x ∈ ℝ} | Fₙ(x) - F(x) | → 0 (几乎必然收敛)



该定理在统计学中有一些应用。例如,它可以作为柯尔莫哥洛夫-斯米尔诺夫检验的理论基础,用于检验样本是否来自某个特定分布。

证明思路的重要性


虽然定理本身有其应用价值,但本节课我们重点讨论它的证明。原因在于,这个证明所采用的方法是统计学习理论中的典型范式。


在统计学习理论中,经常需要证明一类随机变量的上确界(supremum)收敛于某个值(通常是零)。这正是格利文科-坎泰利定理证明的核心:证明经验分布函数与真实分布函数之差的上确界收敛于零。

需要说明的是,如果只关心定理本身,存在更简单的证明方法。但本节课我们将介绍一个在统计学习理论中更常用、更具启发性的证明思路。理解这个证明,对于深入学习统计学习理论至关重要。



总结


本节课我们一起学习了格利文科-坎泰利定理。该定理保证了随着样本量的增加,经验累积分布函数会一致地逼近真实的累积分布函数。我们不仅了解了定理的陈述,更重要的是,探讨了其证明思路在统计学习理论中的典型性和重要性。这种处理上确界收敛性的方法,是理解更复杂学习理论的基础。
084:非参数检验(秩检验与置换检验,Kolmogorov-Smirnov检验)


在本节课中,我们将要学习非参数检验。到目前为止,在之前所有关于假设检验的章节中,我们研究的都是参数检验。
参数检验回顾
上一节我们介绍了参数检验的基本框架。本节中,我们来看看参数检验的核心假设。
在参数检验中,我们假设所考虑的分布族来自某个已知的分布族,例如由一个特定参数θ索引的正态分布族。然后,我们观察某个检验统计量,其核心假设是:我们能够评估该检验统计量的分布,并最终定义用于拒绝零假设H0的拒绝域。







我将再次绘制一些图像来说明这一点,但主要观点是:这种场景在少数应用或科学某些领域中定义明确的应用中可能是现实的。然而,在机器学习等许多领域,这通常行不通,因为我们无法对分布做出这些强假设。








因此,我们需要不同的方法,这就是非参数检验所要解决的问题。




标准参数检验场景
让我尝试构建一个标准场景。首先,我们写出参数检验的场景。

场景:



我们有一个统计模型。



该模型称为 F(θ),它由一组关于θ的函数组成,其中θ属于某个参数集合 Θ。



例如,正态分布。我们可能知道所有数据集都来自一个可能是正态分布的分布,但我们可能不知道中心的位置,也可能不知道方差。然而,我们知道:





所有数据都来自这样一个正态分布。当然,这是一个很强的假设。


参数检验的流程

那么,我们如何进行呢?我们提出检验统计量。
我们设计如何评估观察到的数据。




数据 并计算检验统计量。



检验统计量。


例如,数据的均值。例如,数据点的均值 x̄。



而这就是关键点。




本节课中我们一起学习了参数检验的基本框架及其核心假设,并引出了当数据不满足强分布假设(如正态性)时,需要采用非参数检验的必要性。下一节我们将深入探讨非参数检验的具体方法。
085:Bootstrap方法 🚀


在本节课中,我们将要学习一种在统计学中非常通用且强大的方法——Bootstrap方法。它特别适用于非参数统计场景,即当我们对数据的潜在分布没有任何假设时。

概述


Bootstrap方法是一种通过从原始数据集中有放回地重复抽样来估计统计量(如均值、标准差、置信区间)的分布的方法。它不依赖于对总体分布的具体假设,因此非常灵活。
上一节我们介绍了非参数统计中的其他方法,如置换检验。本节中我们来看看Bootstrap这一更通用的方法是如何工作的。



动机与问题设定

首先,让我们明确Bootstrap方法要解决的问题。


假设我们有一个来自某个未知分布 F 的样本:X₁, X₂, ..., Xₙ。我们对该分布 F 没有任何先验知识或假设。

我们的目标是估计一个基于该分布的参数 θ。这个参数可以是均值、中位数、相关系数,或任何其他复杂的统计量。

Bootstrap的核心思想


Bootstrap的核心思想非常简单:将观测到的样本视为对总体分布的最佳估计。

既然我们没有总体的信息,我们就用样本本身来模拟总体的行为。具体做法是,从原始样本中进行有放回的重复抽样,生成许多个“Bootstrap样本”,然后基于这些新样本计算我们感兴趣的统计量,从而近似该统计量的抽样分布。


以下是Bootstrap方法的基本步骤:

- 从原始样本中重抽样:从原始样本 X₁, X₂, ..., Xₙ 中,有放回地随机抽取 n 个观测值,构成一个新的Bootstrap样本 X₁, X₂, ..., X*ₙ。注意,由于是有放回抽样,原始样本中的某些数据点可能在新样本中出现多次,而另一些则可能一次都不出现。
- 计算统计量:对这个Bootstrap样本计算我们感兴趣的统计量估计值,记作 θ̂*。
- 重复多次:将步骤1和步骤2重复 B 次(例如 B=1000 或 10000),得到 B 个Bootstrap统计量估计值:θ̂₁, θ̂₂, ..., θ̂*_B。
- 利用Bootstrap分布进行推断:这 B 个 θ̂* 值构成了统计量 θ̂ 的一个近似抽样分布,称为Bootstrap分布。我们可以利用这个分布来计算标准误、置信区间等。


Bootstrap的应用示例

我们可以用Bootstrap分布来完成多种统计推断任务。



以下是几个常见的应用:

- 估计标准误:Bootstrap分布的标准差可以作为原始估计量 θ̂ 的标准误的一个估计。
- 公式:SE_boot = sqrt( (1/(B-1)) * Σ (θ̂_b - θ̂_mean)² ),其中 θ̂*_mean 是Bootstrap估计值的均值。
- 计算置信区间:有多种方法可以利用Bootstrap分布计算置信区间。
- 百分位数法:直接取Bootstrap分布的 α/2 和 1-α/2 分位数作为置信区间的上下限。例如,对于95%的置信区间,取2.5%分位数和97.5%分位数。
- 偏差校正法:对百分位数法进行修正,以考虑估计量可能存在的偏差。
- 进行假设检验:通过比较基于原始数据计算的统计量与基于Bootstrap分布生成的零假设下的统计量分布,可以计算p值。


总结


本节课中我们一起学习了Bootstrap方法。它是一种强大的非参数统计工具,核心在于通过有放回地重抽样从原始数据中生成大量新样本,并基于这些新样本构建我们感兴趣统计量的近似分布。这种方法不依赖于严格的总分布假设,使其在分析复杂、无明确模型的数据时非常有用。我们可以利用得到的Bootstrap分布来估计标准误、构建置信区间以及进行假设检验。
086:贝叶斯统计学入门 🧠
在本节课中,我们将简要了解贝叶斯统计学。到目前为止,我们学习的所有统计学内容都属于频率主义统计学。然而,统计学领域还存在一个完全不同的世界——贝叶斯统计学,我们尚未触及。
为何先学频率主义?🤔

之所以先重点介绍频率主义统计学,是因为它在许多科学领域应用最为广泛。同时,贝叶斯方法在机器学习中也被使用,例如在概率机器学习课程中,你会看到大量的贝叶斯推理。因此,我认为打好频率主义统计学的基础更为重要。

不过,考虑到可能有人不会选修概率机器学习课程,我希望通过这短短15分钟的讲解,为你打开贝叶斯统计学的大门。
两种统计哲学的起点 🧭

现在,我们从非常哲学的起点开始。传统统计学,通常称为频率主义统计学,基于以下核心理念。

频率主义对概率的定义
在频率主义框架下,概率是一个分配给在重复实验中发生的事件的数字。例如,如果我反复抛掷一枚硬币数百万次,在极限(无限次)的情况下,我可以统计硬币正面或反面朝上的频率,并用概率来表达这个频率。
所以,概率是实验无限重复时的极限频率。


频率主义对参数的看法
在统计场景中,我们想要估计的参数(例如正态分布的均值)被视为常数。它们不被当作随机变量处理。

举例来说,如果我知道数据服从正态分布但不知道其均值,那么这个均值是一个参数。我可能不知道它的值,但它是一个固定的、确定性的参数。我永远不能说“均值大于20的概率很低”这样的话,因为我不能为参数分配概率。参数只是一个确定性的量,它要么大于20,要么不大于。

因此,在这种频率主义场景下发展出的统计学(例如假设检验),其意义在于:如果我重复进行统计推断足够多次,那么我可以给出关于该推断有多少次会是错误或正确的保证(例如显著性水平α)。

上一节我们介绍了频率主义统计学的哲学基础,本节中我们来看看贝叶斯统计学的核心思想有何不同。

贝叶斯统计学的核心:概率即信念 🎯

贝叶斯统计学采取了一种截然不同的观点。在这里,概率被解释为对命题合理性的主观信念程度。这意味着,即使对于一次性事件或未知的固定参数,我们也可以谈论其概率。

关键公式:贝叶斯定理
贝叶斯推理的核心是著名的贝叶斯定理,它描述了在获得新证据(数据)后,如何更新我们对假设(参数)的信念。
其公式如下:
P(θ|D) = [P(D|θ) * P(θ)] / P(D)


其中:
P(θ|D)是后验概率。表示在观察到数据D之后,我们对参数θ的信念。P(D|θ)是似然函数。表示在参数θ为真的情况下,观察到当前数据D的可能性。P(θ)是先验概率。表示在观察到任何数据之前,我们对参数θ的初始信念。P(D)是证据或边缘似然。这是一个归一化常数,确保后验概率的总和为1。通常通过积分计算:P(D) = ∫ P(D|θ)P(θ) dθ。


简单来说,这个定理可以理解为:
后验概率 ∝ 似然函数 × 先验概率

贝叶斯框架下的参数

在贝叶斯观点中,未知参数 θ 本身被视为随机变量。这意味着我们可以直接谈论“参数落在某个区间的概率”,例如 P(θ > 20 | D),这代表了在现有数据 D 下,我们认为 θ 大于20的可信度。
了解了贝叶斯定理后,我们来看看贝叶斯分析的具体步骤和组成部分。
贝叶斯分析的工作流程 🔄
进行一次完整的贝叶斯分析通常包含以下步骤:
- 设定先验
P(θ):基于领域知识、历史数据或主观判断,对参数θ的分布做出初始假设。如果没有先验信息,可以使用无信息先验。 - 构建似然
P(D|θ):根据所选的数据生成模型(例如,假设数据来自正态分布),写出给定参数θ时观测到数据D的概率。 - 计算后验
P(θ|D):应用贝叶斯定理,将先验和似然结合,得到参数在给定数据下的更新后的分布。 - 后验推断:基于后验分布进行决策、预测或区间估计(在贝叶斯中称为可信区间)。

一个简单示例:估计硬币偏差


假设我们有一枚可能不均匀的硬币,想要估计其正面朝上的概率 θ。


- 先验:我们可能假设
θ在0到1之间均匀分布,即P(θ) = 1(对于 0 ≤ θ ≤ 1)。这是一个无信息先验。 - 似然:如果我们进行了
N次投掷,观察到k次正面,那么似然函数是一个二项分布:P(D|θ) ∝ θ^k (1-θ)^(N-k)。 - 后验:根据贝叶斯定理,后验分布
P(θ|D) ∝ θ^k (1-θ)^(N-k) * 1。这正好是贝塔分布Beta(k+1, N-k+1)的形式。 - 推断:我们可以计算后验分布的均值作为
θ的点估计,或者计算θ的95%可信区间。


频率主义 vs. 贝叶斯:简要对比 ⚖️
以下是两种范式的主要区别:
| 方面 | 频率主义 | 贝叶斯 |
|---|---|---|
| 概率定义 | 长期频率 | 主观信念程度 |
| 参数性质 | 固定未知常数 | 随机变量 |
| 推断目标 | 估计参数真值,评估估计量的重复抽样性质(如置信区间) | 获得参数的后验概率分布 |
| 先验信息 | 不直接使用 | 通过先验分布明确使用 |
| 结果解释 | “95%置信区间”意味着:如果重复实验,95%的区间会包含真参数。 | “95%可信区间”意味着:基于现有数据和先验,参数落在此区间内的概率是95%。 |

总结与展望 📚


本节课中我们一起学习了贝叶斯统计学的入门知识。我们了解到,与将概率视为频率、将参数视为常数的频率主义不同,贝叶斯统计学将概率解释为信念,并将未知参数本身视为具有概率分布的随机变量。其核心引擎是贝叶斯定理,它指导我们如何用新数据更新旧信念。

虽然本课程以频率主义方法为主,但理解贝叶斯观点对于深入学习现代机器学习(尤其是概率图模型、贝叶斯优化等领域)至关重要。希望这简短的介绍能为你未来的学习铺平道路。
087:高维空间几何 🧮




在本节课中,我们将探讨高维空间的几何特性。机器学习中的数据通常存在于成百上千维的空间中,这与我们日常生活的二维或三维直觉截然不同。我们将通过一系列事实,揭示高维空间如何“改变世界”,并理解为什么低维空间的直觉在此常常失效。


上一节我们介绍了机器学习数据的高维特性,本节中我们来看看高维空间几何的一些具体反直觉现象。


高维数据的常见来源


以下是机器学习中高维数据的两个典型例子:


- 图像数据:一张由数百万像素组成的图像,每个像素可能由红、绿、蓝三个值表示。因此,一张图像可以看作是一个维度高达数千甚至数百万的空间中的一个点。用公式表示,一个
n像素的图像可以表示为向量x ∈ R^n(灰度图)或x ∈ R^(3n)(彩色图)。 - 客户特征数据:为了对客户进行分类,我们可能使用一系列特征来描述他们,例如年龄、性别、购物行为、访问网页的时间、消费金额等。我们将所有可能相关的特征都输入算法,形成一个长长的特征列表,每个客户对应高维空间中的一个数据点。


所以,机器学习中的数据通常并非存在于二维或三维空间,而是存在于非常高维的空间中。从几何学的角度来看,20维或50维就已经算是“非常高维”了,而在机器学习中,维度常常达到 10^3 甚至更高。



低维直觉在高维空间的失效


我们所有的几何直觉都源于日常生活的二维和三维空间,甚至在数学中画示意图时也通常使用二维示例,因为我们无法绘制50维的图形。然而,这些直觉在高维空间中往往是错误的。


接下来,我将列举几个具体事实,展示进入高维空间后世界是如何变化的。


高维空间的反直觉特性



以下是高维几何中几个关键的反直觉事实:
- 体积集中在壳层:在高维球体中,绝大部分体积都集中在靠近球体表面的一个薄壳层中。这意味着,如果你从一个高维球体中随机取一个点,它几乎总是位于球体表面附近,而非中心区域。
- 对角线主导:在高维立方体中,从中心到顶点的对角线长度远远超过到任何面的距离。大部分空间都分布在远离中心的角落区域。
- 距离趋同:在高维空间中,随机两点间的欧氏距离会趋于一个相同的值。这意味着,所有点对之间的距离都变得相似,区分度下降。
- 稀疏性与空空间:随着维度增加,空间体积呈指数级增长,但数据量往往跟不上。这导致数据点变得极其稀疏,它们之间存在着巨大的、几乎为空的区域。这就是所谓的“维度灾难”。





本节课中我们一起学习了高维空间的基本几何特性。我们了解到,机器学习数据天然存在于高维空间,而我们的低维空间直觉在此常常具有误导性。高维空间中,体积分布、距离关系和数据稀疏性都展现出与二维或三维空间截然不同的行为。认识到这些特性,对于理解和设计机器学习算法至关重要。
机器学习数学:7a:什么是凸优化问题
在本节课程中,我们将学习凸优化问题的定义及其重要性。凸优化是机器学习中一个非常强大的工具,因为它能保证找到全局最优解,而非局部最优解。接下来,我们将从基础概念开始,逐步构建对凸优化问题的理解。
在讨论凸优化问题之前,我们首先需要理解什么是凸集。幻灯片上展示了一些图像,可以帮助我们直观地理解这个概念。
直观地说,凸集就像幻灯片底部展示的图形那样,外部是圆滑的,并且没有任何向内凹陷的部分。

非正式的定义是:一个集合是凸集,当且仅当我在集合中任意取两点,并用一条直线连接这两点,这条直线上的所有点都仍然包含在该集合内。
让我们来看几个例子。这个我刚刚画的集合不是凸集,因为如果我取这两点并画一条线,这条线并不完全在集合内部。

需要注意的是,可能存在其他两点,其连线完全在集合内部。但凸集的定义要求,对于集合中的任意两点,其连线都必须完全在集合内部。

本质上,凸集是这样的:无论我取哪两个点,它们之间的连线总是会落在集合内部。以上就是非正式的定义。
当然,也有对应的数学公式来描述这个概念。首先需要注意的一点是,当我们谈论凸集和两点之间的连线时,我们需要一个向量空间结构。因为在没有度量或任何数学结构的空间中,我们甚至无法谈论连接两点的直线。因此,我们至少需要处在一个向量空间中。
现在给出正式定义:向量空间的一个子集 S 被称为凸集,当且仅当对于集合中的任意两点 X 和 Y,以及对于任何参数 t ∈ [0, 1],点 t * x + (1 - t) * y 仍然在集合 S 中。
观察这个定义,参数 t 从 0 变化到 1,本质上就是驱动你从点 x 移动到点 y 的参数。

本节课中,我们一起学习了凸集的定义,这是理解凸优化问题的基础。我们了解了凸集的直观含义和正式数学定义,并明白了为什么需要在向量空间的框架下讨论它。在接下来的课程中,我们将以此为基础,深入探讨凸优化问题的构成及其求解方法。
089:凸优化、拉格朗日函数与对偶问题 🧠

在本节课中,我们将学习如何利用拉格朗日方法解决凸优化问题。这是一种非常通用的方法,在许多情况下都能提供帮助,尤其是在支持向量机(SVM)的求解中。我们将从直观理解入手,介绍一些基本概念和定义,以便后续能够解决SVM的对偶优化问题。

凸优化问题简介 📈



上一节我们介绍了优化问题的基本概念,本节中我们来看看一类特殊的优化问题——凸优化问题。凸优化在机器学习中应用广泛,其文献非常丰富,甚至有专门的课程用整个学期来研究其性质与解法。这里我们仅作简要介绍,目标是掌握足够的知识来解决SVM问题。
一个凸优化问题通常具有以下形式:
$$
\begin{aligned}
\min_{x} & \quad f(x) \
\text{s.t.} & \quad g_i(x) \leq 0, \quad i = 1, \ldots, m \
& \quad h_j(x) = 0, \quad j = 1, \ldots, p
\end{aligned}
$$
其中,目标函数 $f(x)$ 和不等式约束函数 $g_i(x)$ 是凸函数,等式约束函数 $h_j(x)$ 是仿射函数。



梯度回顾 📐
在深入讨论解法之前,我们先回顾一个核心数学工具——梯度。梯度是多元函数的一阶导数向量。
对于一个从 $\mathbb{R}^D$ 映射到 $\mathbb{R}$ 的函数 $f$,其梯度定义为所有偏导数组成的向量:
$$
\nabla f(x) = \begin{bmatrix} \frac{\partial f}{\partial x_1} \ \frac{\partial f}{\partial x_2} \ \vdots \ \frac{\partial f}{\partial x_D} \end{bmatrix}
$$
例如,$\frac{\partial f}{\partial x_1}$ 表示函数 $f$ 对第一个坐标 $x_1$ 的偏导数。梯度指向函数值增长最快的方向。



拉格朗日方法 🧩


接下来,我们将介绍解决带约束优化问题的核心方法——拉格朗日方法。这有时被看作一个“配方”,在某些条件下有效。

对于上述凸优化问题,我们引入拉格朗日函数 $L$,它将目标函数和约束结合起来:
$$
L(x, \lambda, \nu) = f(x) + \sum_{i=1}^{m} \lambda_i g_i(x) + \sum_{j=1}^{p} \nu_j h_j(x)
$$
其中,$\lambda_i \geq 0$ 和 $\nu_j$ 称为拉格朗日乘子。
对偶问题与KKT条件 ⚖️

通过拉格朗日函数,我们可以构造原问题的对偶问题。对偶问题有时更容易求解,并且在强对偶性成立时,对偶问题的最优值等于原问题的最优值。



以下是求解过程的关键步骤:

- 构造拉格朗日函数:如上所述,引入乘子。
- 构建对偶函数:对偶函数 $g(\lambda, \nu)$ 定义为拉格朗日函数关于原变量 $x$ 的下确界:
$$
g(\lambda, \nu) = \inf_{x} L(x, \lambda, \nu)
$$ - 求解对偶问题:对偶问题是最大化对偶函数:
$$
\max_{\lambda \geq 0, \nu} g(\lambda, \nu)
$$


在最优解处,需要满足卡罗需-库恩-塔克(KKT)条件,这是一组最优解必须满足的条件(在函数可微等“良好”假设下)。为了简化,本教程假设所有函数都是连续可微的。

总结 🎯


本节课中我们一起学习了凸优化问题的基本形式,回顾了梯度的概念,并重点介绍了利用拉格朗日函数和对偶性来求解约束优化问题的方法。我们了解到,通过引入拉格朗日乘子构造拉格朗日函数,可以导出原问题的对偶问题。在满足强对偶性的情况下,求解对偶问题等价于求解原问题,这为后续解决支持向量机(SVM)的优化问题奠定了理论基础。

浙公网安备 33010602011771号