Skip to content

Lecture 2: 数学基础

一些机器学习需要用到的前置数学知识(并非非常基础,特别是凸优化)

符号定义

  • \([n]\):从 \(1\)\(n\) 的正整数集合 \(\lbrace1, \cdots, n\rbrace\)
  • \(\mathbf{x}, \mathbf{y}, \mathbf{v}\):向量 vector
  • \(A, B\):矩阵 matrix
  • \(\mathcal{X}, \mathcal{Y}, \mathcal{K}\):域 domain
  • \(d, m, n\):维度 dimension
  • \(I\):单位矩阵 identity matrix
  • \(X, Y\):随机变量 random variable
  • \(p, q\):概率分布 probability distribution

微积分

Definition:连续函数

函数 $ f : \mathbb{R}^n \to \mathbb{R}^m $ 在 $ x \in \text{dom } f $ 处连续,如果对于所有 $ \epsilon > 0 $,存在一个 $ \delta > 0 $,使得对于任意 $ y \in \text{dom } f $,有 $$ \lVert y - x \rVert_2 \leq \delta \quad \implies \quad \lVert f(y) - f(x) \rVert_2 \leq \epsilon. $$ 其中 \(\lVert \cdot \rVert_{2}\) 被称为欧几里得范数(Euclidean norm),几何上表示“两点间距离”。很快会提到其他范数

一阶概念:梯度与导数

如果 \(f:\mathbb{R} \to \mathbb{R}\),那么梯度(Gradient)和导数(Derivatives)等价

如果 \(f:\mathbb{R}^d \to \mathbb{R}\),即输入是 \(d\) 维向量,则定义梯度:

Definition:梯度

设 $ f : \mathcal{X} \subseteq \mathbb{R}^d \to \mathbb{R} $ 是一个一阶可导函数。令 \(\mathbf{x} = [x_1, \cdots, x_d]^{\top} \in \mathcal{X}\)。那么,$ f $ 在 $ \mathbf{x} $ 处的梯度是一个 $ \mathbb{R}^d $ 中的列向量,记作 $ \nabla f(\mathbf{x}) $,其定义为
$$ \nabla f(\mathbf{x}) = \begin{bmatrix} \frac{\partial f}{\partial x_1}(\mathbf{x}) \\ \vdots \\ \frac{\partial f}{\partial x_d}(\mathbf{x}) \end{bmatrix} $$

Example: \(f(x) = \lVert\mathbf{x}\rVert_{2}^{2} \overset{\triangle}{=} \sum_{i=1}^{d} x_{i}^{2}\),则 $$ \nabla f(x) = \begin{bmatrix} 2x_{1} \\ \vdots \\ 2x_{n} \end{bmatrix} = 2\mathbf{x} $$

而导数为梯度的转置(行向量)。这门课关注的是梯度

二阶概念:Hessian 矩阵

Definition:Hessian 矩阵

设 $ f : \mathcal{X} \subseteq \mathbb{R}^d \to \mathbb{R} $ 是一个二阶可导函数。令 \(\mathbf{x} = [x_1, \cdots, x_d]^{\top} \in \mathcal{X}\)。那么,$ f $ 在 $ \mathbf{x} $ 处的 Hessian 矩阵是一个 $ \mathbb{R}^{d \times d} $ 中的方阵,记作 $ \nabla ^{2} f(\mathbf{x}) $,其定义为
$$ \nabla^{2} f(\mathbf{x}) = \begin{bmatrix} \frac{\partial ^{2} f}{\partial x_{i}, x_{j}}(\mathbf{x}) \end{bmatrix} _{1 \le i, j \le d} $$

Example: 信息论中的负熵函数 \(f(x) = -\sum_{i=1}^{d} x_{i} \ln x_{i},\; x_{i} > 0\),则 $$ \nabla^{2} f(x) = \text{diag} \left( -\dfrac{1}{x_{1}}, \cdots, -\dfrac{1}{x_{d}} \right) $$

对于二阶偏导数连续的函数(称为 \(C^2\) 函数),得到的 Hessian 矩阵是对称矩阵

链式法则

Rule:链式法则

对于 \(h(x) = f \circ g (x)\),有: $$ \begin{align} h'(x) &= f'(g(x)) \cdot g'(x) \\ h''(x) &= f''(g(x)) (g'(x))^{2} + f'(g(x)) g''(x) \end{align} $$ 对于 \(n\) 阶可导函数 \(h_{n}(x) = f_{n} \circ f_{n-1} \circ \cdots \circ f_{1} (x)\),有: $$ \dfrac{\text{d}h_{n}}{\text{d}x} = \dfrac{\text{d}h_{n}}{\text{d}h_{n-1}} \cdot \dfrac{\text{d}h_{n-1}}{\text{d}h_{n-2}} \cdots \dfrac{\text{d}h_{1}}{\text{d}x} $$

链式法则解释了如何对复合函数求导,在机器学习中的一个应用是实现反向传播算法(Backpropagation)

《The Matrix Cookbook》

一本关于矩阵运算、矩阵微积分以及相关统计分布的公式速查手册,电子版可以看这里

线性代数

最基础的矩阵运算和性质这里从略

(半)正定矩阵

Definition:(半)正定矩阵

对于一个实对称方阵 \(A \in \mathbb{R}^{d\times d}\)

  • 如果取任意 \(d\)非零向量 \(\mathbf{x} \ne 0\),都有 \(\mathbf{x}^{T}A\mathbf{x} > 0\),则 \(A\) 是正定矩阵(Positive Definite Matrix),记为 \(A \succ 0\)
  • 如果取任意 \(d\) 维向量 \(\mathbf{x} \in \mathbf{R}^{d}\),都有 \(\mathbf{x}^{T}A\mathbf{x} \ge 0\),则 \(A\) 是半正定矩阵(Positive Semi-Definite Matrix),记为 \(A \succeq 0\)

如果一个函数的 Hessian 矩阵是半正定矩阵,则该函数为凸函数(很快说明)

对于一个矩阵 \(A \in \mathbb{R}^{m \times n}\),将每一列视为一个 \(m\) 维向量,这 \(n\) 个向量可以组成一个线性空间,称为列空间 \(\text{Col}(A)\),它是 \(\mathbb{R}^{m}\) 的一个子空间,这个子空间的实际维度就是秩(Rank)

从线性独立的角度理解,矩阵的秩就是最大线性无关列的数量,即:在 \(n\)\(m\) 维向量中,去除可被其他向量线性表示的重复向量后,得到的向量集合的大小

从历史悠久的线代笔记上抄下来的常用秩不等式,感觉对这门课没什么大用

💠 对于\(n\)阶方阵 \(A,B\)\(AB=O\),则 \(r(A)+r(B) \leqslant n\)

证明:\(Ax=θ\),方程的基础解系所含向量的个数是 \(n-r(A)\),而矩阵 \(B\) 的各个列向量就对应了 \(x\),故 \(B\) 的列秩 \(r(B)\leqslant n - r(A)\)\(B\) 的列向量组的秩不可能超过方程基础解系的个数)

(下面的右侧不等式是其更一般的结论)

💠 \(min\lbracer(A),r(B)\rbrace \geqslant r(AB) \geqslant r(A)+r(B) - n\)(矩阵乘法 \(AB\) 存在,\(n\)\(A\) 的列 / \(B\) 的行数)

先证左侧不等式:

易知 \(Ax=0\) 的解一定是 \(ABx=0\) 的解,\(ABx=0\) 的解向量个数 \(\geqslant\) \(Ax=0\) 的解向量个数

\(n-r(AB) \geqslant n-r(A)\),即 \(r(AB) \leqslant r(A)\)

同理 \(r(AB) \leqslant r(B)\),故 \(r(AB) \leqslant min\lbracer(A),r(B)\rbrace\)

再证右侧不等式:

\(r(A) + r(B) = r \begin{pmatrix}B & O\\O &A\end{pmatrix} \leqslant r\begin{pmatrix}B & E\\O &A\end{pmatrix} =r\begin{pmatrix}B & E\\-AB &O\end{pmatrix} \leqslant r(AB) + r(E)\)

(行变换有 \(\begin{pmatrix}E & O\\-A &E\end{pmatrix} \begin{pmatrix}B & E\\O &A\end{pmatrix} =\begin{pmatrix}B & E\\-AB &O\end{pmatrix}\)

\(r\begin{pmatrix}B & E\\-AB &O\end{pmatrix} \leqslant r(AB) + r(E)\) 可以从列向量的相关性证明)

\(r(A) + r(B) = r \begin{pmatrix}B & O\\O &A\end{pmatrix}\leqslant r\begin{pmatrix}B & E\\O &A\end{pmatrix}\) 本身就是个很好的不等式)

💠 对于 \(n\) 阶方阵 \(A\) ,有 \(r(A^{\ast})=\begin{cases} n,\, & r(A)=n \\ 1,\, & r(A)=n-1 \\ 0,\, & r(A) \leqslant n-2 \end{cases}\)

证明:易知 \(|A^{\ast}|=||A|A^{-1}|=|A|^n|A^{-1}|=|A|^{n-1}\)

\(r(A)=n\) 时,\(|A| ≠0\),所以 \(|A^{\ast}|=|A|^{n-1}≠0\),因此 \(A^{\ast}\) 满秩,\(r(A^{\ast})=n\)

\(r(A)=n-1\) 时,\(AA^{\ast}=|A|E=0\)

由上一个结论可得:\(r(A)+r(A^{\ast}) \leqslant n\),故 r\((A^{\ast}) \leqslant n - r(A) = 1\)

又因为 \(A\) 不是零矩阵(秩不为 \(0\)),故 \(A^{\ast}\) 也不是零矩阵,\(r(A^{\ast}) \geqslant 1\)

\(r(A^{\ast}) = 1\)

\(r(A) \leqslant n-2\) 时,\(A\)\((n-1)\) 阶子式的值也全部为 \(0\),这意味着\(A\) 的代数余子式 \(A_{ij} = 0\)

因此 \(A^{\ast}\) 的所有项全部为 \(0\)\(A^{\ast}\) 是零矩阵,\(r(A^{\ast}) = 0\)

💠 \(r(A±B) \leqslant r(A)+r(B)\)

(考虑 \(A\)\(B\) 的列空间可能有重合,直接得出不等关系)

💠\(max\lbracer(A),r(B)\rbrace\leqslant r(A\quad B)\leqslant r(A)+r(B)\)

(依旧是考虑 \(A\)\(B\) 的列空间可能有重合,直接得出不等关系)

💠 \(r(A)=r(PAQ)\),其中 \(P、Q\) 满秩

(初等变换不改变矩阵的秩)

💠 \(r(A)=r(AA^T)=r(A^TA)\)(其中 \(A\) 是实矩阵)

(证明 \(Ax=0\)\(A^TAx=0\)\(AA^Tx=0\) 同解即可)

💠\(r(A)=r\begin{pmatrix}A &AB\end{pmatrix} = r\begin{pmatrix}A \\B A\end{pmatrix}\)

(左乘矩阵进行行变换,对列向量的线性相关性没有任何影响,有 \(r(A)= r\begin{pmatrix}A \\B A\end{pmatrix}\)

(右乘矩阵进行列变换,对行向量的线性相关性没有任何影响,有 \(r(A)=r\begin{pmatrix}A &AB\end{pmatrix}\)

(考虑线性方程组的基础解系也可以解决问题)

内积 && 向量范数

内积(Inner Product)是一个输入为两个向量,输出为一个标量的函数。

分为向量内积和矩阵内积,其中对于向量空间下的内积,采用点积的计算方式;对于矩阵空间下的内积,采用”将矩阵拉长为长向量进行点积计算“的处理方式,称为 Frobenius 内积,本质上都是对向量的计算

Definition:内积

对于向量 \(\mathbf{x}, \mathbf{y} \in \mathbb{R}^d\),定义内积运算: $$ \left \langle \mathbf{x}, \mathbf{y} \right \rangle = \mathbf{x}^{T} \mathbf{y} = \sum_{i=1}^{d} x_i y_i $$ 另一种写法是 \(\left \langle \mathbf{x}, \mathbf{y} \right \rangle = \lVert x \rVert \lVert y \rVert \cos \theta\),其中 \(\theta\) 是向量角

对于矩阵 \(A, B \in \mathbb{R}^{m \times n}\),定义内积运算: $$ \left \langle A, B \right \rangle = \text{Tr}\left( A^{T}B \right) = \sum_{i=1}^{m} \sum_{j=1}^{n} A_{ij} B_{ij} $$

向量内积反映两个向量的对齐程度:考虑 \(\left \langle \mathbf{x}, \mathbf{y} \right \rangle = \lVert x \rVert \lVert y \rVert \cos \theta\) 这种写法,内积的大小与向量长度成正比,和 \(\theta\) 成反比

同理,Frobenius 内积的计算结果衡量两个矩阵的相似性,常用于矩阵优化和分解问题中


给定一种内积运算,可以诱导出对应的范数(Norm)计算。给出向量的 \(p\)-范数的定义:

Definition:向量范数

对于向量 \(\mathbf{x}\),我们定义: $$ \lVert \mathbf{x} \rVert_{p} = (|x_1|^{p} + |x_2|^{p} + \cdots + |x_d|^{p})^{1/p} $$ 为向量的 \(p\)-范数,其中:

  • \(ℓ_1\)-范数 \(\lVert \mathbf{x} \rVert_{1} = |x_1| + |x_2| + \cdots + |x_d|\),又称之为曼哈顿范数,表示向量各分量绝对值的和
  • \(ℓ_2\)-范数 \(\lVert \mathbf{x} \rVert_{2} = \sqrt{x_1^2 + x_2^2 + \cdots + x_d^2}\),又称之为欧几里得范数,表示向量长度
  • \(ℓ_{\infty}\)-范数 \(\lVert \mathbf{x} \rVert_{\infty} = \max\lbrace|x_1|, |x_2|, \cdots , |x_d|\rbrace\),又称之为无穷范数,表示向量在所有维度中的最大偏差

额外的,给定半正定矩阵 \(A \in \mathbb{R}^{d\times d}\),我们定义 \(\lVert x \rVert_{A} = \sqrt{x^{T} A x}\) 为二次范数(Quadratic norm),也称为马氏距离

范数可以表示一个向量的“大小”;内积可以表示两个向量的几何对齐程度。每种内积运算都可诱导出对应的范数(一个向量和自己进行内积运算后取根号 \(\sqrt{\langle \mathbf{x}, \mathbf{x} \rangle}\) 就是对应的范数计算 \(\lVert \mathbf{x} \rVert\)),但并不是每种范数都来自于一个内积

对偶范数

Definition:对偶范数

给定一种 \(\mathbb{R}^{d}\) 上的向量范数 \(\lVert \cdot \rVert\),我们定义对应的对偶范数 \(\lVert \cdot \rVert_{\ast}\): $$ \lVert \mathbf{y} \rVert_{\ast} = \max_{\lVert \mathbf{x} \rVert} \langle \mathbf{y}, \mathbf{x} \rangle = \text{sup} \lbrace\mathbf{y}^{T}\mathbf{x} | \lVert \mathbf{x} \rVert \leq 1\rbrace $$

// TBD