数学基础¶
本节总结了本书中涉及到的有关线性代数、微分和概率的基础知识。为避免赘述本书未涉及的数学背景知识,本节中的少数定义稍有简化。
线性代数¶
以下分别概括了向量、矩阵、运算、范数、特征向量和特征值的概念。
向量¶
本书中的向量指的是列向量。一个 \(n\) 维向量 \(\boldsymbol{x}\) 的表达式可写成
其中 \(x_1, \ldots, x_n\) 是向量的元素。我们将各元素均为实数的 \(n\) 维向量 \(\boldsymbol{x}\) 记作 \(\boldsymbol{x} \in \mathbb{R}^{n}\) 或 \(\boldsymbol{x} \in \mathbb{R}^{n \times 1}\)。
矩阵¶
一个 \(m\) 行 \(n\) 列矩阵的表达式可写成
其中 \(x_{ij}\) 是矩阵 \(\boldsymbol{X}\) 中第 \(i\) 行第 \(j\) 列的元素(\(1 \leq i \leq m, 1 \leq j \leq n\))。我们将各元素均为实数的 \(m\) 行 \(n\) 列矩阵 \(\boldsymbol{X}\) 记作 \(\boldsymbol{X} \in \mathbb{R}^{m \times n}\)。不难发现,向量是特殊的矩阵。
运算¶
设 \(n\) 维向量 \(\boldsymbol{a}\) 中的元素为 \(a_1, \ldots, a_n\),\(n\) 维向量 \(\boldsymbol{b}\) 中的元素为 \(b_1, \ldots, b_n\)。向量 \(\boldsymbol{a}\) 与 \(\boldsymbol{b}\) 的点乘(内积)是一个标量:
设两个 \(m\) 行 \(n\) 列矩阵
矩阵 \(\boldsymbol{A}\) 的转置是一个 \(n\) 行 \(m\) 列矩阵,它的每一行其实是原矩阵的每一列:
两个相同形状的矩阵的加法是将两个矩阵按元素做加法:
我们使用符号 \(\odot\) 表示两个矩阵按元素做乘法的运算:
定义一个标量 \(k\)。标量与矩阵的乘法也是按元素做乘法的运算:
其它例如标量与矩阵按元素相加、相除等运算与上式中的相乘运算类似。矩阵按元素开根号、取对数等运算也即对矩阵每个元素开根号、取对数等,并得到和原矩阵形状相同的矩阵。
矩阵乘法和按元素的乘法不同。设 \(\boldsymbol{A}\) 为 \(m\) 行 \(p\) 列的矩阵,\(\boldsymbol{B}\) 为 \(p\) 行 \(n\) 列的矩阵。两个矩阵相乘的结果
是一个 \(m\) 行 \(n\) 列的矩阵,其中第 \(i\) 行第 \(j\) 列(\(1 \leq i \leq m, 1 \leq j \leq n\))的元素为
范数¶
设 \(n\) 维向量 \(\boldsymbol{x}\) 中的元素为 \(x_1, \ldots, x_n\)。向量 \(\boldsymbol{x}\) 的 \(L_p\) 范数为
例如,\(\boldsymbol{x}\) 的 \(L_1\) 范数是该向量元素绝对值之和:
而 \(\boldsymbol{x}\) 的 \(L_2\) 范数是该向量元素平方和的平方根:
我们通常用 \(\|\boldsymbol{x}\|\) 指代 \(\|\boldsymbol{x}\|_2\)。
设 \(\boldsymbol{X}\) 是一个 \(m\) 行 \(n\) 列矩阵。矩阵 \(\boldsymbol{X}\) 的 Frobenius 范数为该矩阵元素平方和的平方根:
其中 \(x_{ij}\) 为矩阵 \(\boldsymbol{X}\) 在第 \(i\) 行第 \(j\) 列的元素。
特征向量和特征值¶
对于一个 \(n\) 行 \(n\) 列的矩阵 \(\boldsymbol{A}\),假设有标量 \(\lambda\) 和非零的 \(n\) 维向量 \(\boldsymbol{v}\) 使
那么 \(\boldsymbol{v}\) 是矩阵 \(\boldsymbol{A}\) 的一个特征向量,标量 \(\lambda\) 是 \(\boldsymbol{v}\) 对应的特征值。
微分¶
我们在这里简要介绍微分的一些基本概念和演算。
导数和微分¶
假设函数 \(f: \mathbb{R} \rightarrow \mathbb{R}\) 的输入和输出都是标量。函数 \(f\) 的导数
且假定该极限存在。给定 \(y = f(x)\),其中 \(x\) 和 \(y\) 分别是函数 \(f\) 的自变量和因变量。以下有关导数和微分的表达式等价:
其中符号 \(\text{D}\) 和 \(\text{d}/\text{d}x\) 也叫微分运算符。常见的微分演算有 \(\text{D}C = 0\)(\(C\) 为常数)、\(\text{D}x^n = nx^{n-1}\)(\(n\) 为常数)、\(\text{D}e^x = e^x\)、\(\text{D}\ln(x) = 1/x\) 等。
如果函数 \(f\) 和 \(g\) 都可导,设 \(C\) 为常数,那么
如果 \(y=f(u)\) 和 \(u=g(x)\) 都是可导函数,依据链式法则,
泰勒展开¶
函数 \(f\) 的泰勒展开式是
其中 \(f^{(n)}\) 为函数 \(f\) 的 \(n\) 阶导数(求 \(n\) 次导数),\(n!\) 为 \(n\) 的阶乘。假设 \(\epsilon\) 是个足够小的数,如果将上式中 \(x\) 和 \(a\) 分别替换成 \(x+\epsilon\) 和 \(x\),我们可以得到
由于 \(\epsilon\) 足够小,上式也可以简化成
偏导数¶
设 \(u\) 为一个有 \(n\) 个自变量的函数,\(u = f(x_1, x_2, \ldots, x_n)\),它有关第 \(i\) 个变量 \(x_i\) 的偏导数为
以下有关偏导数的表达式等价:
为了计算 \(\partial u/\partial x_i\),我们只需将 \(x_1, \ldots, x_{i-1}, x_{i+1}, \ldots, x_n\) 视为常数并求 \(u\) 有关 \(x_i\) 的导数。
梯度¶
假设函数 \(f: \mathbb{R}^n \rightarrow \mathbb{R}\) 的输入是一个 \(n\) 维向量 \(\boldsymbol{x} = [x_1, x_2, \ldots, x_n]^\top\),输出是标量。函数 \(f(\boldsymbol{x})\) 有关 \(\boldsymbol{x}\) 的梯度是一个由 \(n\) 个偏导数组成的向量:
为表示简洁,我们有时用 \(\nabla f(\boldsymbol{x})\) 代替 \(\nabla_{\boldsymbol{x}} f(\boldsymbol{x})\)。
假设 \(\boldsymbol{x}\) 是一个向量,常见的梯度演算包括
类似地,假设 \(\boldsymbol{X}\) 是一个矩阵,那么
黑塞矩阵¶
假设函数 \(f: \mathbb{R}^n \rightarrow \mathbb{R}\) 的输入是一个 \(n\) 维向量 \(\boldsymbol{x} = [x_1, x_2, \ldots, x_n]^\top\),输出是标量。假定函数 \(f\) 所有的二阶偏导数都存在,\(f\) 的黑塞矩阵 \(\boldsymbol{H}\) 是一个 \(n\) 行 \(n\) 列的矩阵:
其中二阶偏导数
概率¶
最后,我们简要介绍条件概率、期望和均匀分布。
条件概率¶
假设事件 \(A\) 和事件 \(B\) 的概率分别为 \(\mathbb{P}(A)\) 和 \(\mathbb{P}(B)\),两个事件同时发生的概率记作 \(\mathbb{P}(A \cap B)\) 或 \(\mathbb{P}(A, B)\)。给定事件 \(B\),事件 \(A\) 的条件概率
也就是说,
当满足
时,事件 \(A\) 和事件 \(B\) 相互独立。
均匀分布¶
假设随机变量 \(X\) 服从 \([a, b]\) 上的均匀分布,即 \(X \sim U(a, b)\)。随机变量 \(X\) 取 \(a\) 和 \(b\) 之间任意一个数的概率相等。
小结¶
- 本节总结了本书中涉及到的有关线性代数、微分和概率的基础知识。
练习¶
- 求函数 \(f(\boldsymbol{x}) = 3x_1^2 + 5e^{x_2}\) 的梯度。