首页 深度学习(基础数学知识)
文章
取消

深度学习(基础数学知识)

本文介绍了机器(深度)学习的基础数学知识,作为后续深入学习的基础。


1. 矩阵

1.1. 迹(trace)

方阵 $\boldsymbol{A}\in \mathbb{R}^{n\times n}$ 的迹定义为对角线元素之和

\[\text{tr}(\boldsymbol{A}) = \sum_{i=1}^n a_{ii}\]

迹有如下性质:

  • 对于 $\boldsymbol{A}\in\mathbb{R}^{n\times n}, \text{tr}(\boldsymbol{A}) = \text{tr}(\boldsymbol{A}^\top)$

    方阵的转置不改变对角元素

  • 对于 $\boldsymbol{A},\boldsymbol{B}\in\mathbb{R}^{n\times n}, \text{tr}(\boldsymbol{A}+\boldsymbol{B}) = \text{tr}(\boldsymbol{A})+\text{tr}(\boldsymbol{B})$

    矩阵的和为各元素加和

  • 对于 $\boldsymbol{A}\in\mathbb{R}^{n\times n}, t\in\mathbb{R}, \text{tr}(t\boldsymbol{A}) = t\text{tr}(\boldsymbol{A})$

    矩阵与数字相乘是将矩阵中每个元素与该数字相乘

  • 对于 $\boldsymbol{A}\in\mathbb{R}^{m\times n},\boldsymbol{B}\in\mathbb{R}^{n\times m}, \text{tr}(\boldsymbol{AB}) = \text{tr}(\boldsymbol{BA})$
    \[\begin{aligned} \text{tr} \boldsymbol{A} \boldsymbol{B} & =\sum_{i=1}^{m}(\boldsymbol{A} \boldsymbol{B})_{i i}=\sum_{i=1}^{m}\left(\sum_{j=1}^{n} A_{i j} B_{j i}\right) \\ & =\sum_{i=1}^{m} \sum_{j=1}^{n} A_{i j} B_{j i}=\sum_{j=1}^{n} \sum_{i=1}^{m} B_{j i} A_{i j} \\ & =\sum_{j=1}^{n}\left(\sum_{i=1}^{m} B_{j i} A_{i j}\right)=\sum_{j=1}^{n}(B A)_{j j}=\text{tr} \boldsymbol{B} \boldsymbol{A} . \end{aligned}\]
  • 对于 $\boldsymbol{A},\boldsymbol{B}\in\mathbb{R}^{m\times n}, \text{tr}(\boldsymbol{AB^\top}) = \sum_{i=1}^m\sum_{j=1}^n A_{ij}B_{ij}$

    通过观察上一个性质的中间推导过程,将其中 $\boldsymbol{B}$ 的转置带入即可

  • 对于 $\boldsymbol{A}\in\mathbb{R}^{m\times n}, \text{tr}(\boldsymbol{AA^\top}) = \sum_{i=1}^m\sum_{j=1}^n \boldsymbol{A}_{ij}^2 = \Vert\boldsymbol{A}\Vert_F^2$

    将前述性质推导中的 $\boldsymbol{B}$ 替换为 $\boldsymbol{A}$ 即可,其中定义矩阵的 Frobenius 范数为 \(\Vert\boldsymbol{A}\Vert_F = \sqrt{\sum_{i=1}^m\sum_{j=1}^n \boldsymbol{A}_{ij}^2} = \sqrt{\text{tr}(\boldsymbol{A}^\top \boldsymbol{A})}\)

1.2. 范数

1.2.1. 向量范数

向量范数的含义:测量响亮的“长度”或向量到原点的距离。数学描述为

定义在 $\mathbb{R}^n$ 上的实值函数 $\Vert \cdot \Vert$ 称为向量范数,如果 $\forall \boldsymbol{x},\boldsymbol{x} \in \mathbb{R}^n, k\in \mathbb{R}$ 满足

  • 正定性:$\Vert \boldsymbol{x} \Vert \geq 0$
  • 齐次性:$\Vert k\boldsymbol{x} \Vert = k\Vert \boldsymbol{x} \Vert$
  • 满足三角不等式:$\Vert \boldsymbol{x} + \boldsymbol{y} \Vert \leq \Vert \boldsymbol{x} \Vert + \Vert \boldsymbol{y} \Vert$

常用范数有

  • $l_1$范数: \(\Vert \boldsymbol{x} \Vert_1 = \sum_{i=1}^n |x_i|\)
  • $l_2$范数: \(\Vert \boldsymbol{x} \Vert_2 = \sqrt{\sum_{i=1}^n x_i^2} = \sqrt{\boldsymbol{x}^\top \boldsymbol{x}}\)
  • $l_p$范数: \(\Vert \boldsymbol{x} \Vert_p = \left(\sum_{i=1}^n |x_i|^p\right)^{\frac{1}{p}}\)
  • L$\infty$范数: \(\Vert \boldsymbol{x} \Vert_\infty = \max_{i=1}^n |x_i|\)

1.2.2. 矩阵范数

将向量范数推广到矩阵范数有

  • 矩阵 1-范数(列和范数),即各列元素绝对值之和的最大值: \(\Vert \boldsymbol{A} \Vert_1 = \max_{1\leq j\leq n} \sum_{i=1}^m |a_{ij}|\)

  • 矩阵 2-范数(谱范数): \(\Vert\boldsymbol{A} \Vert_2 = \sqrt{\lambda_{\max}(\boldsymbol{A}^\top \boldsymbol{A})}\)

  • Frobenius 范数: \(\Vert \boldsymbol{A} \Vert_F = \sqrt{\sum_{i=1}^m \sum_{j=1}^n a_{ij}^2}\)

  • 矩阵 $\infty$-范数(行和范数),即各行元素绝对值之和的最大值: \(\Vert \boldsymbol{A} \Vert_\infty = \max_{1\leq i\leq m} \sum_{j=1}^n |a_{ij}|\)

1.3. 正交矩阵

若两向量 $\boldsymbol{x},\boldsymbol{y}$ 满足$\boldsymbol{x}^\top \boldsymbol{y}=0$,则称向量 $\boldsymbol{x},\boldsymbol{y}$ 正交(orthogonal)。

若向量 $\boldsymbol{x}\in\mathbb{R}^n$ 满足 $\Vert\boldsymbol{x}\Vert_2=1$,则称向量 $\boldsymbol{x}$ 是规范的(normalized)。

推广到矩阵,若方阵 $\boldsymbol{U}\in\mathbb{R}^{n\times n}$ 满足所有列向量彼此正交,且所有列向量均规范,则称其为正交矩阵。

  • 性质1(非方阵仅满足左半): \(\boldsymbol{U}^\top \boldsymbol{U} = \boldsymbol{I} = \boldsymbol{U}\boldsymbol{U}^\top\)

  • 性质2(正交矩阵不改变向量的 $l_2$ 范数): \(\Vert\boldsymbol{U} \boldsymbol{x}\Vert_2 = \Vert \boldsymbol{x}\Vert_2\)

\[\Vert \boldsymbol{U} \boldsymbol{x}\Vert_2 =\sqrt{ (\boldsymbol{U} \boldsymbol{x})^\top \boldsymbol{U} \boldsymbol{x}} = \sqrt{\boldsymbol{x}^\top \boldsymbol{U}^\top\boldsymbol{U} \boldsymbol{x}} = \sqrt{\boldsymbol{x}^\top \boldsymbol{x}}=\Vert \boldsymbol{x}\Vert_2\]
  • 性质3:$\boldsymbol{U}^\top = \boldsymbol{U}^{-1}$
  • 性质4:$\det{\boldsymbol{U}} = 1\; or -1$

一些重要的矩阵分解涉及到了正交矩阵,包括:

  • QR分解:$\boldsymbol{A} = \boldsymbol{QR}$,其中 $\boldsymbol{Q}$ 是正交矩阵,$\boldsymbol{R}$ 是上三角矩阵。
  • 奇异值(SVD)分解:$\boldsymbol{A} = \boldsymbol{U}\boldsymbol{D}\boldsymbol{V}^\top$,其中 $\boldsymbol{U}$ 和 $\boldsymbol{V}$ 是正交矩阵,$\boldsymbol{D}$ 是对角矩阵。
  • 谱分解:$\boldsymbol{A} = \boldsymbol{U}\boldsymbol{Λ}\boldsymbol{U}^\top$,其中 $\boldsymbol{U}$ 是正交矩阵,$\boldsymbol{Λ}$ 是对角矩阵。

1.4. 矩阵的值域、零空间和秩

1.4.1. 向量的张成(span)

向量的张成(span)是指一组向量通过线性组合所能生成的所有向量的集合。即:

给定向量空间 $ V $ 中的一组向量 $ \boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k $,它们的张成(span)是这些向量的所有线性组合构成的集合,记作:

\[\text{span}\{\boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k\} = \{ c_1 \boldsymbol{v}_1 + c_2 \boldsymbol{v}_2 + \dots + c_k \boldsymbol{v}_k \mid c_1, c_2, \dots, c_k \in \mathbb{R} \}\]

其中 $ c_1, c_2, \dots, c_k $ 是标量。

向量的张成是线性代数中描述向量组生成空间的核心概念。它通过线性组合的方式,刻画了向量组所能覆盖的空间范围。

例1:二维空间中的向量

\[\boldsymbol{v}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix},\boldsymbol{v}_2 =\begin{bmatrix} 0 \\ 1 \end{bmatrix}\]

\[\text{span}\{\boldsymbol{v}_1, \boldsymbol{v}_2\} = \mathbb{R}^2\]

即这两个向量张成了整个二维空间。

例2:三维空间中的向量

\[\boldsymbol{v}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} , \boldsymbol{v}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}\]

\[\text{span}\{\boldsymbol{v}_1, \boldsymbol{v}_2\} = \{ (x, y, 0) \mid x, y \in \mathbb{R} \}\]

张成一个二维($xy$)平面。

例3:线性相关的向量

\[\boldsymbol{v}_1 = \begin{bmatrix} 1 \\ 2 \end{bmatrix}, \boldsymbol{v}_2 = \begin{bmatrix} 2 \\ 4 \end{bmatrix}\]

\[\text{span}\{\boldsymbol{v}_1, \boldsymbol{v}_2\} = \text{span}\{\boldsymbol{v}_1\} = \{ c \begin{bmatrix} 1 \\ 2 \end{bmatrix} \mid c \in \mathbb{R} \}\]

张成的空间退化为一条直线。

向量的张成有如下性质:

  • 向量组的张成是向量空间 $V$ 的一个子空间(特殊情况下是向量空间本身,例1);
  • 如果向量组线性无关,则他们构成张成空间的一组基;
  • 张成空间的维度等于向量组的秩(即最大线性无关向量组的个数)。

1.4.2. 向量的投影

向量 $\boldsymbol{y}\in \mathbb{R}^n$ 在向量 $\boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k \in \mathbb{R}^n $ 的张成上的投影定义为:在向量张成空间中与其距离最小的向量

\[\boldsymbol{p} = \text{Proj}(\boldsymbol{y}; {\boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k}) = \mathop{\arg\min}\limits_{\boldsymbol{x}\in \text{span}\{\boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k\}} \Vert \boldsymbol{y} - \boldsymbol{x} \Vert_2\]

上述投影将 $\boldsymbol{y}$ 分解为两个部分:一个位于该子空间内的向量(即投影向量 $\boldsymbol{p}$),另一个与子空间正交的向量 $\boldsymbol{y}-\boldsymbol{p}$。此时,投影 $\boldsymbol{p}$ 是 $\boldsymbol{y}$ 在子空间 $\mathcal{V}$ 中的最近点,即:

\[\Vert\boldsymbol{y}-\boldsymbol{p}\Vert_2 \leq \Vert\boldsymbol{y}-\boldsymbol{u}\Vert_2 \quad \forall \boldsymbol{u}\in \mathcal{V}\]

上述投影还有两个额外性质:

性质1:投影 $\boldsymbol{p}$ 是 $\boldsymbol{y}$ 在空间 $V$ 上的正交投影,即 $\boldsymbol{y}-\boldsymbol{p}$ 与 $V$ 中的任意向量正交。

性质2:如果 $\boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k$ 是 $V$ 的一组基(即线性无关),构造矩阵 $\boldsymbol{A}=[\boldsymbol{v}_1, \boldsymbol{v}_2, \dots, \boldsymbol{v}_k] $ 显然是一个满秩矩阵,那么 $\boldsymbol{p}$ 可以表示为

\[\boldsymbol{p} = \boldsymbol{A}(\boldsymbol{A}^\top \boldsymbol{A})^{-1} \boldsymbol{A}^\top \boldsymbol{y}\]

此时 $\boldsymbol{A}^+ = (\boldsymbol{A}^\top \boldsymbol{A})^{-1} \boldsymbol{A}^\top$ 为 $\boldsymbol{A}$ 的 Moore-Penrose 伪逆,有

\[\boldsymbol{p} = \boldsymbol{A}\boldsymbol{A}^+ \boldsymbol{y}\]

当 $\boldsymbol{A}$ 不满秩时,上述公式中的 $(\boldsymbol{A}^\top \boldsymbol{A})^{-1}$ 不成立,此时伪逆 $\boldsymbol{A}^+$ 需要通过其他方法计算(例如奇异值分解,SVD)。在这种情况下,投影矩阵仍然可以表示为 $\boldsymbol{A}\boldsymbol{A}^+$。

1.4.3. 矩阵的值域(range)

矩阵的值域(range),也成为列空间(Column Space),是指矩阵 $\boldsymbol{A}$ 的所有列向量的线性组合构成的向量空间(即列向量的张成)。换句话说,它是矩阵 $\boldsymbol{A}$ 的列空间(column space),记作 $\text{range}(\boldsymbol{A})$ 或 $\text{col}(\boldsymbol{A})$。

对于矩阵 $\boldsymbol{A} \in \mathbb{R}^{m \times n}$,其值域定义为:

\[\begin{aligned} \text{range}(\boldsymbol{A}) &= \{ \boldsymbol{A}\boldsymbol{x} \mid \boldsymbol{x} \in \mathbb{R}^n \}\\ &=\{x_1\boldsymbol{a_1} + x_2\boldsymbol{a_2} + \cdots + x_n\boldsymbol{a_n}\vert x_i\in\mathbb{R}\}\\ &=span\{\boldsymbol{a_1}, \boldsymbol{a_2}, \cdots, \boldsymbol{a_n}\} \end{aligned}\]

值域的维度等于矩阵 $\boldsymbol{A}$ 的秩(rank),记作 $\text{rank}(\boldsymbol{A})$,其同时也是最大的线性无关列向量的个数。

例:设矩阵 $A$ 为: \(A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}\) 则 $\text{range}(A)$ 是 $\mathbb{R}^2$ 中的一个子空间,具体为: \(\text{range}(A) = \text{span}\left\{ \begin{bmatrix} 1 \\ 3 \end{bmatrix}, \begin{bmatrix} 2 \\ 4 \end{bmatrix} \right\}\)

1.4.4. 矩阵的零空间(nullspace)

矩阵的 零空间(Null Space),也称为核空间(Kernel),是指所有满足 $\boldsymbol{A}\boldsymbol{x} = \boldsymbol{0}$ 的向量 $\boldsymbol{x}$ 构成的集合。记作 $\text{null}(\boldsymbol{A})$ 或 $\text{ker}(\boldsymbol{A})$。

对于矩阵 $\boldsymbol{A}\ \in \mathbb{R}^{m \times n}$,其零空间定义为: \(\text{null}(\boldsymbol{A}) = \{\boldsymbol{x} \in \mathbb{R}^n \mid \boldsymbol{A}\boldsymbol{x} = \boldsymbol{0}\}\) 其中 $\boldsymbol{0}$ 是 $m$-维零向量。

  • 零空间是矩阵 $\boldsymbol{A}$ 的齐次线性方程组的解空间,也是矩阵 $\boldsymbol{A}$ 的列空间的补集。
  • 零空间的维度称为矩阵的零度(nullity),记作 $\text{nullity}(\boldsymbol{A})$。

例:

设矩阵 $A$ 为:

\[\boldsymbol{A} = \begin{bmatrix} 1 & 2 \\ 3 & 6 \end{bmatrix}\]

则齐次线性方程组 $\boldsymbol{A}\boldsymbol{x} = \boldsymbol{0}$ 为:

\[\begin{cases} x_1 + 2x_2 = 0 \\ 3x_1 + 6x_2 = 0 \end{cases}\]

解得:

\[x_1 = -2x_2\]

因此,解向量为:

\[\boldsymbol{x} = x_3\begin{bmatrix} -2 \\ 1 \end{bmatrix}\]

因此,零空间为:

\[\text{null}(\boldsymbol{A}) = \text{span}\left\{ \begin{bmatrix} -2 \\ 1 \end{bmatrix} \right\}\]

同时,观察到 $\boldsymbol{v}_2 = 2\boldsymbol{v}_1$,因此 $\boldsymbol{v}_1$ 和 $\boldsymbol{v}_2$ 是线性相关的,因此该矩阵的值域 $\text{range}(\boldsymbol{A})$ 由 $\boldsymbol{v}_1$ 张成:

\[\text{range}(\boldsymbol{A}) = \text{span}\left\{ \begin{bmatrix} 1 \\ 3 \end{bmatrix} \right\}\]

1.4.5. 秩-零度定理

矩阵的 零空间(Nullspace)和 值域(Range)是矩阵的两个重要子空间,它们之间通过 秩-零度定理(Rank-Nullity Theorem)建立了紧密的联系。

对于矩阵 $\boldsymbol{A} \in \mathbb{R}^{m \times n}$,其秩(rank)和零度(nullity)满足以下关系: \(\text{rank}(\boldsymbol{A}) + \text{nullity}(\boldsymbol{A}) = n\) 其中:

  • $\text{rank}(\boldsymbol{A})$ 是矩阵 $\boldsymbol{A}$ 的秩,即值域 $\text{range}(\boldsymbol{A})$ 的维度。
  • $\text{nullity}(\boldsymbol{A})$ 是矩阵 $\boldsymbol{A}$ 的零度,即零空间 $\text{null}(\boldsymbol{A})$ 的维度。
  • $n$ 是矩阵 $\boldsymbol{A}$ 的列数。

零空间和值域之间存在如下性质:

  1. 互补性
    • 值域 $\text{range}(\boldsymbol{A})$ 和零空间 $\text{null}(\boldsymbol{A})$ 是互补的子空间。
    • 值域是矩阵 $\boldsymbol{A}$ 的列空间,表示 $\boldsymbol{A}$ 的列向量的线性组合所能生成的空间。
    • 零空间是矩阵 $\boldsymbol{A}$ 的齐次线性方程组 $\boldsymbol{A}\boldsymbol{x} = \boldsymbol{0}$ 的解空间。
  2. 正交性
    • 在 $\mathbb{R}^n$ 中,零空间 $\text{null}(\boldsymbol{A})$ 和值域 $\text{range}(\boldsymbol{A}^\top)$(即 $\boldsymbol{A}$ 的行空间)是正交补空间,即:

      \[\begin{aligned} &\text{null}(\boldsymbol{A}) \perp \text{range}(\boldsymbol{A}^\top)\\ &\text{null}(\boldsymbol{A})\oplus\text{range}(\boldsymbol{A}^\top)=\mathbb{R}^n \end{aligned}\]
    • 类似地,在 $\mathbb{R}^m$ 中,零空间 $\text{null}(\boldsymbol{A}^\top)$ 和值域 $\text{range}(\boldsymbol{A})$ 是正交补空间,即:

      \[\begin{aligned} &\text{null}(\boldsymbol{A}^\top) \perp \text{range}(\boldsymbol{A})\\ &\text{null}(\boldsymbol{A}^\top)\oplus\text{range}(\boldsymbol{A})=\mathbb{R}^m \end{aligned}\]
  3. 维度关系
    • 值域的维度 $\text{rank}(\boldsymbol{A})$ 表示矩阵 $\boldsymbol{A}$ 的列向量的线性无关性。
    • 零空间的维度 $\text{nullity}(\boldsymbol{A})$ 表示齐次线性方程组 $\boldsymbol{A}\boldsymbol{x} = \boldsymbol{0}$ 的自由变量的个数。
    • 根据秩-零度定理,$\text{rank}(\boldsymbol{A}) + \text{nullity}(\boldsymbol{A}) = n$,表明值域和零空间的维度之和等于矩阵的列数。
  4. 几何意义
    • 值域 $\text{range}(\boldsymbol{A})$ 描述了矩阵 $\boldsymbol{A}$ 的“覆盖”程度,即矩阵的列向量能够生成的空间的维度。
    • 零空间 $\text{null}(\boldsymbol{A})$ 描述了矩阵 $\boldsymbol{A}$ 的“压缩”程度,即有多少线性无关的向量被映射到零向量。

1.4.6. 矩阵的秩(rank)

矩阵的 (Rank)是线性代数中的一个重要概念,用于描述矩阵的列向量(或行向量)的线性无关性。它反映了矩阵所包含的“信息量”或“自由度”。

对于矩阵 $A \in \mathbb{R}^{m \times n}$,其秩定义为:

\[\text{rank}(A) = \dim(\text{range}(A))\]

其中:

  • $\text{range}(A)$ 是矩阵 $A$ 的值域(列空间)。
  • $\dim(\cdot)$ 表示向量空间的维度。

换句话说,矩阵的秩是其列向量的极大线性无关组的向量个数。

秩有如下性质:

  1. 秩的范围
    • 对于 $m \times n$ 矩阵 $A$,其秩满足: \(0 \leq \text{rank}(A) \leq \min(m, n)\)
  2. 满秩矩阵
    • 如果 $\text{rank}(A) = \min(m, n)$,则称矩阵 $A$ 为 满秩矩阵
    • 对于方阵 $A \in \mathbb{R}^{n \times n}$,如果 $\text{rank}(A) = n$,则 $A$ 是可逆矩阵。
  3. 秩与行列式
    • 对于方阵 $A$,如果 $\text{rank}(A) < n$,则 $\det(A) = 0$(矩阵不可逆)。
    • 如果 $\text{rank}(A) = n$,则 $\det(A) \neq 0$(矩阵可逆)。

1.5. 二次型

1.5.1. 定义

向量二次型是一个关于向量的二次齐次多项式。给定方阵 $\boldsymbol{A} \in \mathbb{R}^{n \times n}$ 和向量 $\boldsymbol{x} \in \mathbb{R}^n$,定义二次型为:

\[Q(\boldsymbol{x}) = \boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x} = \sum_{i=1}^n x_i (\boldsymbol{Ax}_i) = \sum_{i=1}^n x_i (\sum_{j=1}^n A_{ij} x_j) = \sum_{i=1}^n \sum_{j=1}^n x_i A_{ij} x_j\]

在大多数情况下,二次型的定义中要求矩阵 $A$ 是对称矩阵(即 $A = A^\top$)。这是因为

  1. 唯一性:对于任意矩阵 $A$,可以将其分解为对称部分和反对称部分: \(\boldsymbol{A} = \frac{\boldsymbol{A} + \boldsymbol{A}^T}{2} + \frac{\boldsymbol{A} - \boldsymbol{A}^T}{2}\) 其中 $\frac{\boldsymbol{A} + \boldsymbol{A}^T}{2}$ 是对称矩阵,$\frac{\boldsymbol{A} - \boldsymbol{A}^T}{2}$ 是反对称矩阵。
  2. 反对称部分的影响:反对称矩阵 $\boldsymbol{B} = \frac{\boldsymbol{A} - \boldsymbol{A}^T}{2}$ 满足 $\boldsymbol{x}^T \boldsymbol{B} \boldsymbol{x} = 0$ 对所有 $\boldsymbol{x}$ 成立。因此,反对称部分对二次型的值没有贡献。
  3. 简化分析:对称矩阵具有许多良好的性质(如实特征值、正交对角化等),这使得二次型的分析更加简便。

由于向量二次型是一个标量,它的迹就是他本身

\[\text{tr}(\boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}) = \boldsymbol{x}^\top \boldsymbol{A} \boldsymbol{x}\]

扩展到矩阵形式的二次型,给定 $\boldsymbol{X}\in \mathbb{R}^{n \times m}$, 有

\(Q(\boldsymbol{X}) = \boldsymbol{X}^\top \boldsymbol{A} \boldsymbol{X} \in \mathbb{R}^{m \times m}\) 且有 $Q(\boldsymbol{X})$ 的第 $(i,j)$ 元素为 \([Q(\boldsymbol{X})]_{ij} = \boldsymbol{x_i}^\top \boldsymbol{A} \boldsymbol{x_j}\)

二次型的性质包括:

  1. 正定性:如果对于所有非零向量 $ x $,都有 $ Q(x) > 0 $,则称二次型是正定的。
  2. 负定性:如果对于所有非零向量 $ x $,都有 $ Q(x) < 0 $,则称二次型是负定的。
  3. 半正定性:如果对于所有向量 $ x $,都有 $ Q(x) \geq 0 $,则称二次型是半正定的。
  4. 半负定性:如果对于所有向量 $ x $,都有 $ Q(x) \leq 0 $,则称二次型是半负定的。
  5. 不定性:如果二次型既不是正定的,也不是负定的,也不是半正定的,也不是半负定的,则称二次型是不定的。

二次型在优化理论、控制理论和微分几何等领域都有重要的应用。

  • 例:最小二乘

在最小二乘法中,目标是找到向量 $x$ 使得误差的平方和最小。目标函数可以表示为二次型:

\[L(\boldsymbol{w}) = \| \boldsymbol{y} - \boldsymbol{X}\boldsymbol{w} \|^2 = (\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w} )^T (\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w})\]

其中,$\boldsymbol{y}$ 是真实观测矩阵(标签),$\boldsymbol{w}$ 是权重矩阵,$\boldsymbol{X}$ 是样本矩阵。最小化目标函数可以得到最优解 $\boldsymbol{w}^*$ 以最小化误差的平方和。

展开后得到二次型

\[L(\boldsymbol{w}) = \boldsymbol{y}^T \boldsymbol{y} - 2 \boldsymbol{y}^T \boldsymbol{X} \boldsymbol{w} + \boldsymbol{w}^T \boldsymbol{X}^T \boldsymbol{X} \boldsymbol{w}\]

因为第一项是一个常数项,与$\boldsymbol{w}$无关,可以忽略。第二项是一个线性项,关于 $\boldsymbol{w}$ 是线性的。第三项中 $\boldsymbol{A}^\top \boldsymbol{A}$ 是一个对称矩阵,所以第三项是一个二次型。虽然损失函数还包含线性项和常数项,但这些项并不改变其二次性,因为它们不会改变最优解的性质。

对于第三项,令 $\boldsymbol{B} = \boldsymbol{X}^\top\boldsymbol{X}$,参考《the Matrix Cookbook》二次型的导数

\[\frac{\partial \boldsymbol{x}^\top\boldsymbol{B\boldsymbol{x}}}{\partial \boldsymbol{x}} = (\boldsymbol{B}+\boldsymbol{B}^\top)\boldsymbol{x} \tag{81}\]

若 $\boldsymbol{B}$ 满足 $\boldsymbol{B} = \boldsymbol{B}^\top$,此时有

\[\frac{\partial \boldsymbol{x}^\top\boldsymbol{B\boldsymbol{x}}}{\partial \boldsymbol{x}} = 2\boldsymbol{B}\boldsymbol{x}\]

如果 $\boldsymbol{X}^\top \boldsymbol{X}$ 是正定矩阵,则损失函数是凸函数,具有唯一的全局最优解,因此可以通过对二次型求导并令梯度为零 $\partial L / \partial \boldsymbol{w} = 0$,直接得到最小二乘问题的解析解 $\boldsymbol{w}^* = (\boldsymbol{X}^T \boldsymbol{X})^{-1} \boldsymbol{X}^T \boldsymbol{y}$。

  • 例:Fisher 投影判别的优化目标

Fisher 投影判别的的优化目标函数可以写成

\[J(\boldsymbol{w}) = \frac{\boldsymbol{w}^T\boldsymbol{S}_b\boldsymbol{w}}{\boldsymbol{w}^T\boldsymbol{S}_w\boldsymbol{w}}\]

将优化问题更改如下

\[\begin{aligned} \max &\; \boldsymbol{w}^T\boldsymbol{S}_b\boldsymbol{w}\\ s.t. &\; \boldsymbol{w}^T\boldsymbol{S}_w\boldsymbol{w}=c\neq 0 \end{aligned}\]

通过额外引入一个使得分子等于常数的等式约束来限制 $\boldsymbol{w}$ 的取值,然后通过拉格朗日乘子法求解极大值,定义拉格朗日函数如下

\[\begin{aligned} L(\boldsymbol{w},\lambda) &= \boldsymbol{w}^\top\boldsymbol{S}_b\boldsymbol{w} - \lambda (\boldsymbol{w}^\top\boldsymbol{S}_w\boldsymbol{w}-c)\\ \Rightarrow \frac{\partial L(\boldsymbol{w},\lambda)}{\partial \boldsymbol{w}} &= 2\boldsymbol{S}_b\boldsymbol{w} - 2\lambda \boldsymbol{S}_w\boldsymbol{w}\\ \end{aligned}\]

同样涉及到二次型的求导

1.5.2. 与投影的关系

最小二乘的解析解为

\[\boldsymbol{w}^* = (\boldsymbol{X}^T \boldsymbol{X})^{-1} \boldsymbol{X}^T \boldsymbol{y}\]

对应的投影向量为

\[\boldsymbol{p} = \boldsymbol{X} (\boldsymbol{X}^T \boldsymbol{X})^{-1} \boldsymbol{X}^T \boldsymbol{y}\]

\[\boldsymbol{p} = \boldsymbol{X} \boldsymbol{w}^*\]

讨论如下:

  • 投影向量 $\boldsymbol{p}$ 描述了真实标签 $\boldsymbol{y}$ 在样本空间 $\boldsymbol{X}$ 中的实际投影。
  • 二次型的解析解 $\boldsymbol{w}^*$ 描述了如何在样本空间 $\boldsymbol{X}$ 中找到最接近于真实标签 $\boldsymbol{y}$ 的向量,即描述这个“影子”如何由样本空间 $\boldsymbol{X}$ 的列向量组合而成的系数;

2. 矩阵的梯度

2.1. 多元函数的梯度

https://www.cnblogs.com/bigmonkey/p/8400658.html

多元函数是指定义在多维空间上的标量值函数 $f: \mathbb{R}^n \rightarrow \mathbb{R}$。例如,一个二元函数可以表示为 $ f(x, y) $,而一个多元函数可以表示为 $ f(x_1, x_2, \dots, x_n) $。

梯度是多元函数的一个重要概念,它是一个向量,表示函数在某一点处的最大变化率方向和大小。对于一个多元函数 $ f(x_1, x_2, \dots, x_n) $,其梯度定义为:

\[\nabla f = \left( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \dots, \frac{\partial f}{\partial x_n} \right)\]

其中,$ \frac{\partial f}{\partial x_i} $ 是函数 $ f $ 关于变量 $ x_i $ 的偏导数。

梯度有如下性质:

  1. 方向性:梯度的方向是函数在该点处增长最快的方向。
  2. 大小:梯度的模(即向量的长度)表示函数在该点的最大变化率。
  3. 正交性:在等值面上(即 $ f(x) = c $ 的曲面上),梯度与等值面正交。 gradient_vertial

  4. 线性性:梯度运算满足线性性质,即 $ \nabla (af + bg) = a \nabla f + b \nabla g $,其中 $ a $ 和 $ b $ 是常数。
  5. 与方向导数的关系:函数在某点沿单位向量 $ \boldsymbol{u} $ 的方向导数可以表示为 $ D_{\boldsymbol{u}} f = \nabla f \cdot \boldsymbol{u} $。

方向导数是梯度向量的重要应用。$f = f(x, y)$ 的偏导数衡量了点在 $x$ 轴和 $y$ 轴移动时 $f$ 的变化率,在其它任意方向移动的变化率就是方向导数。

2.2. 向量函数的梯度(雅可比矩阵)

假设有一个函数 $\boldsymbol{f}: \mathbb{R}^n\rightarrow \mathbb{R}^m$,其中 $\boldsymbol{f} = [f_1, f_2,\cdots, f_m]^\top$,每个 $f_i$ 都是关于 $n$ 个输入 $\boldsymbol{x} = [x_1, x_2,\cdots, x_n]^\top$ 的标量函数。那么函数的梯度 $\nabla f$ 就是一个 $m\times n$ 的矩阵,称为雅可比矩阵(Jacobian Matrix),其元素是 $\boldsymbol{f}$ 的各个分量对 $\boldsymbol{x}$ 的各个分量的偏导数。

\[J = \nabla \boldsymbol{f} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots & \frac{\partial f_1}{\partial x_n}\\ \frac{\partial f_2}{\partial x_2} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_2}{\partial x_n}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{\partial f_m}{\partial x_1} & \frac{\partial f_m}{\partial x_2} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix}\]

例,假设有一个函数 $\boldsymbol{f}: \mathbb{R}^2\rightarrow \mathbb{R}^2$,定义为

\[\boldsymbol{f} = \begin{bmatrix} f_1\\ f_2 \end{bmatrix} = \begin{bmatrix} x_1^2 + x_2^2\\ x_1 x_2 \end{bmatrix}\]

那么雅可比矩阵 $J$ 为

\[J = \begin{bmatrix} 2x_1 & 2x_2\\ x_2 & x_1 \end{bmatrix}\]

2.3. 矩阵函数的梯度

矩阵梯度是多元函数和向量函数梯度概念的推广,用于处理矩阵变量的函数。对于一个关于矩阵 $\boldsymbol{X}$ 的标量函数 $f(\boldsymbol{X})$,其矩阵梯度定义为一个与 $\boldsymbol{X}$ 同维度的矩阵,其每个元素为函数 $f$ 对矩阵 $\boldsymbol{X}$ 中对应元素的偏导数。

假设函数 $f: \mathbb{R}^{m\times n}\rightarrow \mathbb{R}$ 的输入为矩阵 $\boldsymbol{X}\in\mathbb{R}^{m\times n}$,输出为一个实数,则矩阵梯度定义为:

\[\nabla_{\boldsymbol{X}} f(\boldsymbol{X}) = \begin{bmatrix} \frac{\partial f}{\partial X_{11}} & \frac{\partial f}{\partial X_{12}} & \cdots & \frac{\partial f}{\partial X_{1n}}\\ \frac{\partial f}{\partial X_{21}} & \frac{\partial f}{\partial X_{22}} & \cdots & \frac{\partial f}{\partial X_{2n}}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{\partial f}{\partial X_{m1}} & \frac{\partial f}{\partial X_{m2}} & \cdots & \frac{\partial f}{\partial X_{mn}} \end{bmatrix}\in\mathbb{R}^{m\times n}\]

矩阵梯度有如下性质:

  1. 线性性质
    若 $ f(\boldsymbol{X}) $ 和 $ g(\boldsymbol{X}) $ 是关于矩阵 $ \boldsymbol{X} $ 的标量函数,$ a $ 和 $ b $ 是常数,则有: \(\nabla_{\boldsymbol{X}} (af + bg) = a \nabla_{\boldsymbol{X}} f + b \nabla_{\boldsymbol{X}} g\)

  2. 矩阵乘积的梯度
    若 $ \boldsymbol{A} $ 和 $ \boldsymbol{B} $ 是与 $ \boldsymbol{X} $ 无关的矩阵,则:

    \[\nabla_{\boldsymbol{X}} \text{tr}(\boldsymbol{A} \boldsymbol{X} \boldsymbol{B}) = \boldsymbol{A}^T \boldsymbol{B}^T\]

    其中,$\text{tr}(\cdot)$ 表示矩阵的迹。

  3. 二次型的梯度(等价于二次型迹的梯度):
    对于二次型函数 $ f(\boldsymbol{x}) = \boldsymbol{x}^T \boldsymbol{A} \boldsymbol{x} $,其梯度为:

    \[\nabla_{\boldsymbol{x}} f(\boldsymbol{x}) = \boldsymbol{A} \boldsymbol{x} + \boldsymbol{A}^T \boldsymbol{x}\]

    当 $ \boldsymbol{A} $ 是对称矩阵时,梯度简化为 $ 2\boldsymbol{A} \boldsymbol{x} $。

    展开二次型:

    \[Q(\boldsymbol{x}) = \sum_{i=1}^n \sum_{j=1}^n a_{ij} x_i x_j\]

    对 $\boldsymbol{x}$ 求偏导数:

    \[\begin{aligned} \frac{\partial Q(\boldsymbol{x})}{\partial x_k} &= \sum_{j=1}^n a_{kj} x_j + \sum_{i=1}^n a_{ik} x_i\\ &= \boldsymbol{A} \boldsymbol{x} + \boldsymbol{A}^T \boldsymbol{x} \end{aligned}\]

    若 $\boldsymbol{A}$ 是对称矩阵($a_{ij} = a_{ji}$),上式可以简化为:

    \[\frac{\partial Q(\boldsymbol{x})}{\partial x_k} = 2 \sum_{j=1}^n a_{kj} x_j\]

    将偏导数写成向量形式:

    \[\nabla Q(\boldsymbol{x}) = 2 \boldsymbol{A} \boldsymbol{x}\]

2.4. 分子布局与分母布局

在矩阵微积分中,分子布局(numerator layout)和分母布局(denominator layout)是两种常见的约定,用于定义向量和矩阵的导数,这两种布局的主要区别在于导数的表示形式和维度的安排。

2.4.1. 分子布局

在分子布局中,导数的维度与分子的维度一致,以分子为列向量,分母为行向量。具体来说:

  1. 标量对向量的导数
    • 如果 $f: \mathbb{R}^n \to \mathbb{R}$ 是一个标量函数(多元函数),$\boldsymbol{x} \in \mathbb{R}^n$ 是一个向量,那么导数 $\frac{\partial f}{\partial \boldsymbol{x}}$ 是一个行向量: \(\frac{\partial f}{\partial \boldsymbol{x}} = \begin{bmatrix} \frac{\partial f}{\partial x_1} & \frac{\partial f}{\partial x_2} & \cdots & \frac{\partial f}{\partial x_n} \end{bmatrix}\)
  2. 向量对向量的导数
    • 如果 $\boldsymbol{f}: \mathbb{R}^n \to \mathbb{R}^m$ 是一个向量函数,$\boldsymbol{x} \in \mathbb{R}^n$ 是一个向量,那么导数 $\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{x}}$ 是一个 $m \times n$ 的矩阵: \(\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{x}} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \frac{\partial f_m}{\partial x_2} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix}\)

2.4.2. 分母布局

在分母布局中,导数的维度与分母的维度一致,以分母为列向量,分子为行向量。具体来说:

  1. 标量对向量的导数
    • 如果 $f: \mathbb{R}^n \to \mathbb{R}$ 是一个标量函数(多元函数),$\boldsymbol{x} \in \mathbb{R}^n$ 是一个向量,那么导数 $\frac{\partial f}{\partial \boldsymbol{x}}$ 是一个列向量: \(\frac{\partial f}{\partial \boldsymbol{x}} = \begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \frac{\partial f}{\partial x_2} \\ \vdots \\ \frac{\partial f}{\partial x_n} \end{bmatrix}\)
  2. 向量对向量的导数
    • 如果 $\boldsymbol{f}: \mathbb{R}^n \to \mathbb{R}^m$ 是一个向量函数,$\boldsymbol{x} \in \mathbb{R}^n$ 是一个向量,那么导数 $\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{x}}$ 是一个 $n \times m$ 的矩阵: \(\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{x}} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_2}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_1} \\ \frac{\partial f_1}{\partial x_2} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_m}{\partial x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_1}{\partial x_n} & \frac{\partial f_2}{\partial x_n} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix}\)

选择分子布局还是分母布局通常取决于具体的应用场景和习惯。在机器学习和优化领域,分子布局更为常见,因为它与雅可比矩阵的定义一致。而在一些工程和物理领域,分母布局可能更为常见。

2.5. 向量函数/矩阵函数梯度的链式法则

分子布局和分母布局在矩阵函数或向量值函数的链式法则求导中会影响导数的表示形式和计算方式,链式法则的应用会根据布局的不同而有所调整。

2.5.1. 基本形式

链式法则用于计算复合函数的导数。假设有两个函数:

  • $\mathbf{y} = \mathbf{f}(\mathbf{u})$,其中 $\mathbf{f}: \mathbb{R}^m \to \mathbb{R}^p$
  • $\mathbf{u} = \mathbf{g}(\mathbf{x})$,其中 $\mathbf{g}: \mathbb{R}^n \to \mathbb{R}^m$

复合函数为 $\mathbf{y} = \mathbf{f}(\mathbf{g}(\mathbf{x}))$,其导数可以通过链式法则计算:

\[\frac{\partial \mathbf{y}}{\partial \mathbf{x}} = \frac{\partial \mathbf{y}}{\partial \mathbf{u}} \cdot \frac{\partial \mathbf{u}}{\partial \mathbf{x}}\]

这里的关键是 $\frac{\partial \mathbf{y}}{\partial \mathbf{u}}$ 和 $\frac{\partial \mathbf{u}}{\partial \mathbf{x}}$ 的维度安排,这取决于使用的是分子布局还是分母布局。

2.5.2. 分子布局下的链式法则

在分子布局中,导数的维度与分子的维度一致。具体来说:

  • $\frac{\partial \mathbf{y}}{\partial \mathbf{u}}$ 是一个 $p \times m$ 的矩阵。
  • $\frac{\partial \mathbf{u}}{\partial \mathbf{x}}$ 是一个 $m \times n$ 的矩阵。

因此,链式法则的矩阵乘法形式为:

\[\frac{\partial \mathbf{y}}{\partial \mathbf{x}} = \frac{\partial \mathbf{y}}{\partial \mathbf{u}} \cdot \frac{\partial \mathbf{u}}{\partial \mathbf{x}}\]

其中:

  • $\frac{\partial \mathbf{y}}{\partial \mathbf{x}}$ 是一个 $p \times n$ 的矩阵。
  • 矩阵乘法的顺序是 $p \times m$ 乘以 $m \times n$,结果维度为 $p \times n$。

2.5.3. 分母布局下的链式法则

在分母布局中,导数的维度与分母的维度一致。具体来说:

  • $\frac{\partial \mathbf{y}}{\partial \mathbf{u}}$ 是一个 $m \times p$ 的矩阵。
  • $\frac{\partial \mathbf{u}}{\partial \mathbf{x}}$ 是一个 $n \times m$ 的矩阵。

因此,链式法则的矩阵乘法形式为: \(\frac{\partial \mathbf{y}}{\partial \mathbf{x}} = \frac{\partial \mathbf{u}}{\partial \mathbf{x}} \cdot \frac{\partial \mathbf{y}}{\partial \mathbf{u}}\) 其中:

  • $\frac{\partial \mathbf{y}}{\partial \mathbf{x}}$ 是一个 $n \times p$ 的矩阵。
  • 矩阵乘法的顺序是 $n \times m$ 乘以 $m \times p$,结果维度为 $n \times p$。

2.5.4. 举例

给定定常值矩阵 $\boldsymbol{A}\in \mathbb{R}^{m\times n}$ 和变量向量 $\boldsymbol{x}\in \mathbb{R}^n$,设函数 $f:\mathbb{R}^m\rightarrow \mathbb{R}$ 定义式为 $f(\boldsymbol{z})=\boldsymbol{z}^\top \boldsymbol{z}$,求 $\nabla f(\boldsymbol{A}\boldsymbol{x})$。

首先,题目实际要求解 $\nabla_{\boldsymbol{x}} f(\boldsymbol{A}\boldsymbol{x})$(明确梯度下标);

  • 分子布局下的计算过程

计算 $\nabla_{\boldsymbol{z}} f(\boldsymbol{z})$,按照分子布局有

\[\begin{aligned} f(\boldsymbol{z}) &= \sum_{i=1}^m z_i^2\\ \nabla_{\boldsymbol{z}} f(\boldsymbol{z}) &= (\frac{\partial f}{\partial z_1}, \frac{\partial f}{\partial z_2}, \cdots, \frac{\partial f}{\partial z_m})= 2\boldsymbol{z}^\top \in \mathbb{R}^{1\times m} \end{aligned}\]

令 $\boldsymbol{z} = g(\boldsymbol{x}) = \boldsymbol{Ax}$,可以看出其为向量函数,其梯度为(分子布局,也即 Jacobian 矩阵形式)

\[\begin{aligned} \frac{\partial \boldsymbol{z}}{\partial \boldsymbol{x}} &= \begin{bmatrix} \frac{\partial \boldsymbol{z}}{\partial x_1} & \frac{\partial \boldsymbol{z}}{\partial x_2} & \cdots & \frac{\partial \boldsymbol{z}}{\partial x_n} \end{bmatrix}\\ &=\begin{bmatrix} \frac{\partial z_1}{\partial x_1} & \frac{\partial z_1}{\partial x_2} & \cdots & \frac{\partial z_1}{\partial x_n}\\ \frac{\partial z_2}{\partial x_2} & \frac{\partial z_2}{\partial x_2} & \cdots & \frac{\partial z_2}{\partial x_n}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{\partial z_m}{\partial x_1} & \frac{\partial z_m}{\partial x_2} & \cdots & \frac{\partial z_m}{\partial x_n} \end{bmatrix} = \boldsymbol{A}\in \mathbb{R}^{m\times n}\\ \end{aligned}\]

链式法则如下

\[\nabla_{\boldsymbol{x}} f(\boldsymbol{A}\boldsymbol{x}) = \nabla_{\boldsymbol{z}} f(\boldsymbol{z}) \cdot \frac{\partial \boldsymbol{z}}{\partial \boldsymbol{x}} = 2\boldsymbol{z}^\top \cdot \boldsymbol{A}\in \mathbb{R}^{1\times n}\]
  • 分母布局下的计算过程

计算 $\nabla_{\boldsymbol{z}} f(\boldsymbol{z})$,按照分子布局有

\[\begin{aligned} f(\boldsymbol{z}) &= \sum_{i=1}^m z_i^2\\ \nabla_{\boldsymbol{z}} f(\boldsymbol{z}) &= (\frac{\partial f}{\partial z_1}, \frac{\partial f}{\partial z_2}, \cdots, \frac{\partial f}{\partial z_m})^\top= 2\boldsymbol{z} \in \mathbb{R}^{m\times 1} \end{aligned}\]

令 $\boldsymbol{z} = g(\boldsymbol{x}) = \boldsymbol{Ax}$,可以看出其为向量函数,其梯度为(分母布局)

\[\begin{aligned} \frac{\partial \boldsymbol{z}}{\partial \boldsymbol{x}} &= \begin{bmatrix} \frac{\partial \boldsymbol{z}}{\partial x_1} & \frac{\partial \boldsymbol{z}}{\partial x_2} & \cdots & \frac{\partial \boldsymbol{z}}{\partial x_n} \end{bmatrix}\\ &=\begin{bmatrix} \frac{\partial z_1}{\partial x_1} & \frac{\partial z_2}{\partial x_1} & \cdots & \frac{\partial z_m}{\partial x_1}\\ \frac{\partial z_1}{\partial x_2} & \frac{\partial z_2}{\partial x_2} & \cdots & \frac{\partial z_m}{\partial x_2}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{\partial z_1}{\partial x_n} & \frac{\partial z_2}{\partial x_n} & \cdots & \frac{\partial z_m}{\partial x_n} \end{bmatrix} = \boldsymbol{A}^\top\in \mathbb{R}^{n\times m}\\ \end{aligned}\]

链式法则如下

\[\nabla_{\boldsymbol{x}} f(\boldsymbol{A}\boldsymbol{x}) =\frac{\partial \boldsymbol{z}}{\partial \boldsymbol{x}} \cdot \nabla_{\boldsymbol{z}} f(\boldsymbol{z}) = \boldsymbol{A}^\top \cdot 2\boldsymbol{z}\in \mathbb{R}^{n\times 1}\]

3. 矩阵的全微分

3.1. 多元函数的全微分

全微分描述了函数 $f(\boldsymbol{x})$ 在某点 $\boldsymbol{x}$ 处的微小变化 $\text{d}f$ 与自变量微小变化 $d\boldsymbol{x}=[dx_1, dx_2, \cdots, dx_n]^T$ 的关系,定义为

\[\begin{aligned} \text{d}f &= \frac{\partial f}{\partial x_1} dx_1 + \frac{\partial f}{\partial x_2} dx_2 + \cdots + \frac{\partial f}{\partial x_n} dx_n\\ &= \nabla f(\boldsymbol{x})^\top d\boldsymbol{x}\\ \end{aligned}\]

解释

  • 梯度 $ \nabla f(\boldsymbol{x})$ 描述了函数 $f$ 在某一点 $x$ 处对各个自变量的变化率。
  • 全微分 $\text{d}f$ 描述了函数 $f$ 在某一点 $x$ 处的微小变化,是梯度与自变量微小变化的线性组合。

几何意义:

  • 梯度 $ \nabla f(\boldsymbol{x})$ 是函数值变化最剧烈的方向。
  • 全微分是函数值在方向 $d\boldsymbol{x}$ 上的变化量,等于梯度在该方向上的投影。

3.2. 矩阵函数的全微分

回顾矩阵函数 $f: \mathbb{R}^{m\times n}\rightarrow \mathbb{R}$,输入为矩阵 $\boldsymbol{X}\in\mathbb{R}^{m\times n}$,输出为一个实数。

其全微分 $df$ 定义为:

\[\text{d}f = \sum_{i=1}^m\sum_{j=1}^n \frac{\partial f}{\partial X_{ij}} dX_{ij}\]

将其展开书写为

\[\begin{aligned} \text{d}f(\boldsymbol{X}) =& \frac{\partial f}{\partial X_{11}} dX_{11} + \frac{\partial f}{\partial X_{12}} dX_{12} + \cdots + \frac{\partial f}{\partial X_{1n}} dX_{1n}+\\ &\frac{\partial f}{\partial X_{21}} dX_{21} + \frac{\partial f}{\partial X_{22}} dX_{22} + \cdots + \frac{\partial f}{\partial X_{2n}} dX_{2n}+\\ &\vdots\\ &\frac{\partial f}{\partial X_{m1}} dX_{m1} + \frac{\partial f}{\partial X_{m2}} dX_{m2} + \cdots + \frac{\partial f}{\partial X_{mn}} dX_{mn}+\\ \end{aligned}\]

回顾矩阵函数的梯度如下

\[\nabla_{\boldsymbol{X}} f(\boldsymbol{X}) = \begin{bmatrix} \frac{\partial f}{\partial X_{11}} & \frac{\partial f}{\partial X_{12}} & \cdots & \frac{\partial f}{\partial X_{1n}}\\ \frac{\partial f}{\partial X_{21}} & \frac{\partial f}{\partial X_{22}} & \cdots & \frac{\partial f}{\partial X_{2n}}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{\partial f}{\partial X_{m1}} & \frac{\partial f}{\partial X_{m2}} & \cdots & \frac{\partial f}{\partial X_{mn}} \end{bmatrix}\in\mathbb{R}^{m\times n}\]

定义矩阵 $\boldsymbol{X}$ 的微分为

\[\text{d}\boldsymbol{X} = \begin{bmatrix} dX_{11} & dX_{12} & \cdots & dX_{1n}\\ dX_{21} & dX_{22} & \cdots & dX_{2n}\\ \vdots & \vdots & \ddots & \vdots\\ dX_{m1} & dX_{m2} & \cdots & dX_{mn} \end{bmatrix}\in\mathbb{R}^{m\times n}\]

可以将全微分用矩阵的形式表示为

\[\text{d}f(\boldsymbol{X}) = \text{tr}(\nabla_{\boldsymbol{X}} f(\boldsymbol{X})^\top d\boldsymbol{X})\]

利用上述等式,可以计算复杂的矩阵函数的梯度求解。基本套路如下:

  • 首先确认 $f$ 是矩阵函数(输出为标量)
  • 改写等式左边:$\text{d}f(\boldsymbol{X}) = \text{tr}(\text{d}f(\boldsymbol{X}))$
  • 改写等式右边,使用迹的性质和常见的微分性质凑出 $\text{tr}([\cdot] \text{d}(\boldsymbol{X}))$
  • 则括号内 $[\cdot]$ 部分记为矩阵函数梯度的转置(或其一项),将其再次转置迹可得到矩阵函数的梯度。

题目1:证明

\[\frac{\partial{\text{tr}(\boldsymbol{X}^\top \boldsymbol{X})}}{\partial{\boldsymbol{X}}} = 2\boldsymbol{X}\]

证明过程

\[\begin{aligned} \text{d} (\text{tr}(\boldsymbol{X}^\top \boldsymbol{X})) &= \text{tr}(\text{d}(\boldsymbol{X}^\top \boldsymbol{X}))\\ &= \text{tr}(\text{d}(\boldsymbol{X}^\top)\boldsymbol{X}) + \text{tr}(\boldsymbol{X}^\top \text{d}(\boldsymbol{X}))\\ &= \text{tr}(\boldsymbol{X}^\top \text{d}(\boldsymbol{X})) + \text{tr}(\boldsymbol{X}^\top \text{d}(\boldsymbol{X}))\\ &= 2\text{tr}(\boldsymbol{X}^\top \text{d}(\boldsymbol{X}))\\ \Rightarrow &\frac{\partial \text{tr}(\boldsymbol{X}^\top \boldsymbol{X})}{\partial \boldsymbol{X}^\top} = 2\boldsymbol{X}^\top\\ \Rightarrow &\frac{\partial \text{tr}(\boldsymbol{X}^\top \boldsymbol{X})}{\partial \boldsymbol{X}} = 2\boldsymbol{X} \end{aligned}\]

上述推导中用到的性质有

\[\begin{aligned} & \text{d}( \text{tr}(X)) = \text{tr}(\text{d}(X))\\ & \text{d}(XY) = \text{d}(X)Y + X\text{d}(Y)\\ & \text{tr}(AB) = \text{tr}(BA) \end{aligned}\]

题目2:求

\[\frac{\partial{(\boldsymbol{a}^\top\boldsymbol{X}\boldsymbol{X}^\top\boldsymbol{b})}}{\partial(\boldsymbol{X})}\]

\[\begin{aligned} d(a^T XX^T b) &= \text{tr}(d(a^T XX^T b))\\ &= \text{tr}(a^T d(XX^T)b)\\ &= \text{tr}(a^T [d(X)X^T + Xd(X^T)]b)\\ &= \text{tr}(a^T d(X)X^T b) + \text{tr}(a^T Xd(X^T)b)\\ &= \text{tr}(X^T ba^T d(X)) + \text{tr}((a^T Xd(X^T)b)^T)\\ &= \text{tr}(X^T ba^T d(X)) + \text{tr}(b^T d(X)X^T a)\\ &= \text{tr}(X^T ba^T d(X)) + \text{tr}(X^T ab^T d(X))\\ &\Rightarrow \frac{\partial (a^T XX^T b)}{\partial X^T} = X^T ba^T + X^T ab^T\\ &\Rightarrow \frac{\partial (a^T XX^T b)}{\partial X} = ab^T X + ba^T X \end{aligned}\]

上述推导中用到的性质有

\[d \text{tr}(X) = \text{tr}(dX)\] \[X \in \mathbb{R}^{m,n}, d(A_{p,m} X B_{n,p}) = A d(X) B\] \[d(XY) = (dX)Y + X(dY)\] \[\text{tr}(A + B) = \text{tr}A + \text{tr}B\] \[\text{tr}A = \text{tr}A^T \quad \text{tr}AB = \text{tr}BA\]
本文由作者按照 CC BY 4.0 进行授权

模式识别(LDA和PCA)

-