数学基础与矩阵微积分知识详解
1. 常用缩写
在相关领域中,有许多常用的缩写,以下为大家列举一些常见的缩写及其含义:
| 缩写 | 含义 |
| — | — |
| cdf | 累积分布函数 |
| CNN | 卷积神经网络 |
| DAG | 有向无环图 |
| DNN | 深度神经网络 |
| dof | 自由度 |
| EB | 经验贝叶斯 |
| EM | 期望最大化算法 |
| GLM | 广义线性模型 |
| GMM | 高斯混合模型 |
| HMC | 哈密顿蒙特卡罗 |
| HMM | 隐马尔可夫模型 |
| iid | 独立同分布 |
| iff | 当且仅当 |
| KDE | 核密度估计 |
| KL | 库尔贝克 - 莱布勒散度 |
| LHS | (方程的)左边 |
| LSTM | 长短期记忆网络(一种循环神经网络) |
| LVM | 潜变量模型 |
| MAP | 最大后验估计 |
| MCMC | 马尔可夫链蒙特卡罗 |
| MLE | 最大似然估计 |
| MLP | 多层感知机 |
| MSE | 均方误差 |
| NLL | 负对数似然 |
| OLS | 普通最小二乘法 |
| psd | 正定(矩阵) |
| pdf | 概率密度函数 |
| pmf | 概率质量函数 |
| PNLL | 惩罚负对数似然 |
| PGM | 概率图模型 |
| RNN | 循环神经网络 |
| RHS | (方程的)右边 |
| RSS | 残差平方和 |
| rv | 随机变量 |
| RVM | 相关向量机 |
| SGD | 随机梯度下降 |
| SSE | 误差平方和 |
| SVI | 随机变分推断 |
| SVM | 支持向量机 |
| VB | 变分贝叶斯 |
| wrt | 关于 |
2. 集合、函数与关系
2.1 集合
集合是对象的集合,常见的集合有:
- 有限集合,如颜色集合 (X = {red, green, blue})。
- 可数无限集合,如非负整数集合 (Z^+ = {0, 1, 2, …})。
- 不可数无限集合,如实数集合 (R)。
空集用 (\varnothing) 表示,从 1 到 (N) 的整数集合表示为 ({1, …, N})。若 (x) 是集合 (X) 的成员,则记为 (x \in X)。集合运算如下:
- 交集:(S \cap T) 表示两个集合的公共元素,例如 ({1, 2, 3} \cap {1, 2, 4} = {1, 2})。
- 并集:(S \cup T) 表示两个集合的所有元素,例如 ({1, 2, 3} \cup {1, 2, 4} = {1, 2, 3, 4})。
集合的大小(元素个数)用 (|X|) 表示。
2.2 函数
函数 (f: X \to Y) 是从定义域 (X) 到值域 (Y) 的映射,对于每个 (x \in X),都有唯一的 (y = f(x) \in Y)。例如,二次函数 (y = x^2) 是从 (X = R) 到 (Y = R^+) 的映射。
2.2.1 术语
- 像:集合 (A \subseteq X) 在函数 (f) 下的像 (f(A)) 是值域中可获得的值的子集,即 (f(A) = {f(x) : x \in A})。函数 (f) 的像也称为其范围,即 (f(X))。
- 原像:集合 (B \subseteq Y) 在函数 (f) 下的原像 (f^{-1}(B)) 是映射到 (B) 的值的集合,即 (f^{-1}(B) = {x \in X : f(x) \in B})。例如,对于二次函数,(B = {4, 9}) 的原像是 (f^{-1}(B) = {-3, -2, 2, 3})。
- 函数类型:
- 多对一函数:存在多个 (x) 值映射到同一个 (y) 值。
- 一对一(单射)函数:每个 (x) 映射到不同的 (y) 值。
- 满射函数:值域中的每个元素都由某个 (x) 生成。
- 双射函数:既是单射又是满射,此时函数有逆函数 (f^{-1})。
例如,二次函数 (f(x) = x^2),不同定义域和值域下有不同性质:
- (f_1: R \to R^+) 是多对一且满射的。
- (f_2: R \to R) 是多对一但非满射的。
- (f_3: R^+ \to R^+) 是一对一且满射的,因此是可逆的。
而三次函数 (f(x) = x^3: R \to R) 是满射的。
2.2.2 连续函数
函数 (f: R^n \to R^m) 在 (a \in R^n) 处连续的定义为:
(\forall \epsilon > 0, \exists \delta > 0),使得 (||x - a|| < \delta \Rightarrow ||f(x) - f(a)|| < \epsilon)
直观上,这意味着在输入空间中移动小距离时,函数的响应变化很小。
2.2.3 利普希茨常数
在一维情况下,函数的利普希茨常数 (C \geq 0) 满足对于所有实数 (x_1) 和 (x_2),有 (|f(x_1) - f(x_2)| \leq C|x_1 - x_2|)。这表明函数输入变化 1 单位时,输出变化不超过 (C)。此定义可通过合适的范数推广到向量输入。
2.2.4 线性和仿射函数
- 线性函数:函数 (f: R^n \to R) 是线性函数,当且仅当对于所有标量 (c_1, c_2) 和向量 (x, y),有 (f(c_1x + c_2y) = c_1f(x) + c_2f(y))。线性函数可以表示为内积 (f(x) = a^T x),其中 (a_i = f(e_i)),(e_i) 是单位向量。例如,计算平均值的线性函数 (f(x) = (x_1 + … + x_n)/n) 可表示为 (f(x) = a^T x),其中 (a = (1/n)1_n = (1/n, …, 1/n))。
- 仿射函数:仿射函数是线性函数加上常数偏移,即 (f(x) = A^T x + b),其中 (A) 是 (m \times n) 矩阵,(b) 是 (n \times 1) 向量。
2.2.5 非线性函数
大多数函数是非线性的,例如计算最大值的函数 (f(x) = \max_i x_i) 是非线性的,可通过构造反例证明。不过,许多函数在某点附近是局部线性的。
2.2.6 二次函数
- 标量参数二次函数形式为 (f(x) = ax^2 + bx + c),通过配方法可转化为 (a(x - h)^2 + k) 的形式,其中 (h = -\frac{b}{2a}),(k = c - \frac{b^2}{4a})。
- 向量参数二次函数形式为 (f(x) = x^T Ax + x^T b + c),配方法后为 ((x - h)^T A(x - h) + k),其中 (h = -\frac{1}{2}A^{-1}b),(k = c - \frac{1}{4}b^T A^{-1}b)(假设 (A) 可逆)。通常去掉线性项 (x^T b) 和常数项 (c) 得到二次型 (f(x) = x^T Ax)。
2.3 关系
二元关系 (R) 是有序对 ((x, y)) 的集合,其中 (x \in X),(y \in Y)。若 ((x, y) \in R),则记为 (R(x, y))。函数是关系的特殊形式 (R = {(x, f(x)) : x \in X})。
例如,在辛普森一家的家谱中,有以下二元关系:
- 对称关系“已婚”:(R_{married} = {(Clancy, Jackie), (Jackie, Clancy), (Homer, Marge), (Marge, Homer)})。
- 一对多关系“父亲”:(R_{father - of} = {(Clancy, Marge), (Clancy, Selma), (Homer, Bart), (Homer, Lisa), (Homer, Maggie)})。
二元关系可以用图表示,每个节点是定义域中的对象,若 ((i, j) \in R) 则有 (i \to j) 边。图可以用邻接矩阵 (M) 表示,(M_{ij} = 1) 当且仅当存在 (i - j) 边。此外,还有高阶关系,可用超图表示。
3. 矩阵微积分
3.1 导数
对于标量参数函数 (f: R \to R),其在点 (a) 的导数定义为:
(f’(x) \triangleq \lim_{h \to 0} \frac{f(x + h) - f(x)}{h})
导数衡量函数输出随输入变化的速率,可解释为函数在某点切线的斜率。导数可以用有限差分近似,有前向差分、中心差分和后向差分三种方法:
(f’(x) \equiv \lim_{h \to 0} \frac{f(x + h) - f(x)}{h})(前向差分)
(= \lim_{h \to 0} \frac{f(x + h/2) - f(x - h/2)}{h})(中心差分)
(= \lim_{h \to 0} \frac{f(x) - f(x - h)}{h})(后向差分)
导数可以用拉格朗日符号 (f’) 或莱布尼茨符号 (\frac{dy}{dx}) 表示。二阶导数用 (f’‘) 表示,(n) 阶导数用 (f^{(n)}) 表示。
3.2 梯度
对于向量参数函数 (f: R^n \to R),其关于 (x_i) 的偏导数定义为:
(\frac{\partial f}{\partial x_i} = \lim_{h \to 0} \frac{f(x + h e_i) - f(x)}{h})
函数在点 (x) 的梯度是偏导数组成的向量:
(g = \frac{\partial f}{\partial x} = \nabla f = \begin{pmatrix} \frac{\partial f}{\partial x_1} \ … \ \frac{\partial f}{\partial x_n} \end{pmatrix})
梯度算子 (\nabla) 将函数 (f: R^n \to R) 映射到向量场 (g: R^n \to R^n)。
3.3 方向导数
方向导数衡量函数 (f: R^n \to R) 沿方向 (v) 的变化,定义为:
(D_v f(x) = \lim_{h \to 0} \frac{f(x + h v) - f(x)}{h})
方向导数可以用梯度表示为 (D_v f(x) = \nabla f(x) \cdot v)。方向导数的数值近似只需要 2 次函数调用,而标准梯度向量的数值近似需要 (n + 1) 次调用(或使用中心差分时需要 (2n) 次)。
3.4 全导数
若函数 (f) 的某些参数相互依赖,如 (f(t, x(t), y(t))),则其关于 (t) 的全导数定义为:
(\frac{df}{dt} = \frac{\partial f}{\partial t} + \frac{\partial f}{\partial x} \frac{dx}{dt} + \frac{\partial f}{\partial y} \frac{dy}{dt})
两边乘以微分 (dt) 得到全微分:
(df = \frac{\partial f}{\partial t} dt + \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy)
全导数衡量 (t) 变化时 (f) 的总变化,包括 (t) 对 (f) 的直接影响和通过 (x)、(y) 对 (f) 的间接影响。
3.5 雅可比矩阵
对于向量到向量的函数 (f: R^n \to R^m),其雅可比矩阵是 (m \times n) 的偏导数矩阵:
(J_f(x) = \frac{\partial f}{\partial x^T} \triangleq \begin{pmatrix} \frac{\partial f_1}{\partial x_1} & … & \frac{\partial f_1}{\partial x_n} \ … & … & … \ \frac{\partial f_m}{\partial x_1} & … & \frac{\partial f_m}{\partial x_n} \end{pmatrix} = \begin{pmatrix} \nabla f_1(x)^T \ … \ \nabla f_m(x)^T \end{pmatrix})
3.5.1 雅可比矩阵与向量的乘法
- 雅可比向量积(JVP):右乘雅可比矩阵 (J \in R^{m \times n}) 和向量 (v \in R^n),即 (J_f(x) v = \begin{pmatrix} \nabla f_1(x)^T v \ … \ \nabla f_m(x)^T v \end{pmatrix}),数值近似只需要 2 次函数调用。
- 向量雅可比积(VJP):左乘雅可比矩阵 (J \in R^{m \times n}) 和向量 (u \in R^m),即 (u^T J_f(x) = u^T (\frac{\partial f}{\partial x_1}, …, \frac{\partial f}{\partial x_n}) = (u \cdot \frac{\partial f}{\partial x_1}, …, u \cdot \frac{\partial f}{\partial x_n}))。
当 (m \geq n) 时,JVP 更高效;当 (m \leq n) 时,VJP 更高效。
3.5.2 复合函数的雅可比矩阵
对于复合函数 (h(x) = g(f(x))),根据链式法则,其雅可比矩阵为 (J_h(x) = J_g(f(x)) J_f(x))。例如,若 (f: R \to R^2),(g: R^2 \to R^2),则 (\frac{\partial g}{\partial x} = \frac{\partial g}{\partial f} \frac{\partial f}{\partial x})。
3.6 海森矩阵
对于二次可微的函数 (f: R^n \to R),其海森矩阵是对称的 (n \times n) 二阶偏导数矩阵:
(H = \frac{\partial^2 f}{\partial x^2} = \nabla^2 f = \begin{pmatrix} \frac{\partial^2 f}{\partial x_1^2} & … & \frac{\partial^2 f}{\partial x_1 \partial x_n} \ … & … & … \ \frac{\partial^2 f}{\partial x_n \partial x_1} & … & \frac{\partial^2 f}{\partial x_n^2} \end{pmatrix})
海森矩阵是梯度的雅可比矩阵。
3.7 常用函数的梯度
3.7.1 标量到标量的函数
- (\frac{d}{dx} c x^n = c n x^{n - 1})
- (\frac{d}{dx} \log(x) = 1/x)
- (\frac{d}{dx} \exp(x) = \exp(x))
- (\frac{d}{dx} [f(x) + g(x)] = \frac{df(x)}{dx} + \frac{dg(x)}{dx})
- (\frac{d}{dx} [f(x) g(x)] = f(x) \frac{dg(x)}{dx} + g(x) \frac{df(x)}{dx})
- (\frac{d}{dx} f(u(x)) = \frac{du}{dx} \frac{df(u)}{du})(链式法则)
3.7.2 向量到标量的函数
- (\frac{\partial (a^T x)}{\partial x} = a)
- (\frac{\partial (b^T A x)}{\partial x} = A^T b)
- (\frac{\partial (x^T A x)}{\partial x} = (A + A^T) x)
3.7.3 矩阵到标量的函数
对于函数 (f: R^{m \times n} \to R),其导数矩阵定义为 (\frac{\partial f}{\partial X} = \begin{pmatrix} \frac{\partial f}{\partial x_{11}} & … & \frac{\partial f}{\partial x_{1n}} \ … & … & … \ \frac{\partial f}{\partial x_{m1}} & … & \frac{\partial f}{\partial x_{mn}} \end{pmatrix})。
以下是这些内容的关系流程图:
graph LR
A[常用缩写] --> B[集合、函数与关系]
B --> B1[集合]
B --> B2[函数]
B --> B3[关系]
B2 --> B21[术语]
B2 --> B22[连续函数]
B2 --> B23[利普希茨常数]
B2 --> B24[线性和仿射函数]
B2 --> B25[非线性函数]
B2 --> B26[二次函数]
B3 --> B31[二元关系]
B3 --> B32[高阶关系]
B --> C[矩阵微积分]
C --> C1[导数]
C --> C2[梯度]
C --> C3[方向导数]
C --> C4[全导数]
C --> C5[雅可比矩阵]
C --> C6[海森矩阵]
C --> C7[常用函数的梯度]
C5 --> C51[雅可比矩阵与向量的乘法]
C5 --> C52[复合函数的雅可比矩阵]
C7 --> C71[标量到标量的函数]
C7 --> C72[向量到标量的函数]
C7 --> C73[矩阵到标量的函数]
4. 总结与应用示例
4.1 知识总结
在前面的内容中,我们系统地学习了多个重要的数学概念和工具。首先是常用缩写,涵盖了概率、机器学习等领域的常见术语,这些缩写在相关文献和代码中频繁出现,熟悉它们有助于我们更高效地阅读和理解专业资料。
集合、函数与关系是数学的基础概念。集合的运算,如交集和并集,帮助我们处理不同对象的组合。函数的各种性质,包括连续性、利普希茨常数、线性与非线性等,为我们分析和建模各种现象提供了工具。关系则可以用来描述对象之间的联系,并且可以用图和矩阵来表示,这在图论和计算机科学中有广泛应用。
矩阵微积分是机器学习和数值计算中非常重要的部分。导数、梯度、方向导数、全导数、雅可比矩阵和海森矩阵等概念,让我们能够计算函数的变化率和局部性质,这对于优化算法和模型训练至关重要。常用函数的梯度公式则为我们快速计算复杂函数的梯度提供了便利。
以下是这些知识的总结表格:
| 类别 | 具体内容 |
| — | — |
| 常用缩写 | cdf、CNN、DAG 等多种缩写及其含义 |
| 集合、函数与关系 | 集合运算、函数性质(连续性、线性等)、关系表示(图和矩阵) |
| 矩阵微积分 | 导数、梯度、方向导数、全导数、雅可比矩阵、海森矩阵、常用函数梯度 |
4.2 应用示例
为了更好地理解这些知识的应用,我们来看一个简单的机器学习优化问题。假设我们有一个线性回归模型 (y = \theta^T x + \epsilon),其中 (y) 是目标值,(x) 是特征向量,(\theta) 是模型参数,(\epsilon) 是噪声。我们的目标是最小化均方误差损失函数 (L(\theta) = \frac{1}{2n} \sum_{i = 1}^{n} (y_i - \theta^T x_i)^2)。
4.2.1 计算梯度
首先,我们需要计算损失函数关于参数 (\theta) 的梯度。根据向量到标量函数的梯度公式,我们可以逐步推导:
- 令 (f(\theta) = (y_i - \theta^T x_i)^2 = (y_i - \sum_{j = 1}^{m} \theta_j x_{ij})^2),其中 (m) 是特征的维度。
- 对 (f(\theta)) 关于 (\theta_k) 求偏导数:
- 设 (u = y_i - \sum_{j = 1}^{m} \theta_j x_{ij}),则 (f(\theta) = u^2)。
- 根据链式法则 (\frac{\partial f}{\partial \theta_k} = \frac{\partial f}{\partial u} \frac{\partial u}{\partial \theta_k})。
- (\frac{\partial f}{\partial u} = 2u),(\frac{\partial u}{\partial \theta_k} = -x_{ik})。
- 所以 (\frac{\partial f}{\partial \theta_k} = -2(y_i - \theta^T x_i) x_{ik})。
- 那么损失函数 (L(\theta)) 关于 (\theta_k) 的偏导数为:
- (\frac{\partial L}{\partial \theta_k} = \frac{1}{n} \sum_{i = 1}^{n} (y_i - \theta^T x_i) (-x_{ik}))。
- 写成向量形式,梯度 (\nabla L(\theta) = \frac{1}{n} X^T (X \theta - y)),其中 (X) 是 (n \times m) 的特征矩阵,(y) 是 (n \times 1) 的目标向量。
4.2.2 梯度下降算法
得到梯度后,我们可以使用梯度下降算法来更新参数 (\theta)。梯度下降算法的步骤如下:
1. 初始化参数 (\theta)。
2. 重复以下步骤直到收敛:
- 计算梯度 (\nabla L(\theta))。
- 更新参数 (\theta = \theta - \alpha \nabla L(\theta)),其中 (\alpha) 是学习率。
以下是该算法的流程图:
graph TD
A[初始化参数 \(\theta\)] --> B[计算梯度 \(\nabla L(\theta)\)]
B --> C[更新参数 \(\theta = \theta - \alpha \nabla L(\theta)\)]
C --> D{是否收敛}
D -- 否 --> B
D -- 是 --> E[结束]
4.3 进一步学习建议
这些数学知识是机器学习和相关领域的基础,但要深入掌握它们还需要不断地学习和实践。以下是一些进一步学习的建议:
- 阅读相关的数学教材和专业书籍,如《线性代数及其应用》《微积分学教程》等,深入理解数学原理。
- 参与在线课程和学习社区,与其他学习者交流和讨论,分享学习经验和心得。
- 进行实际项目的练习,将所学知识应用到具体问题中,提高解决实际问题的能力。
通过不断地学习和实践,我们可以更好地掌握这些数学知识,并将它们应用到更复杂的问题中。希望这些内容能帮助你在数学和机器学习的学习道路上取得进步。
超级会员免费看
4637

被折叠的 条评论
为什么被折叠?



