《机器学习数学基础》补充资料:从几何角度理解矩阵

server/2025/2/27 15:24:51/

机器学习数学基础》第 2 章,专门讲解矩阵,因为它在线性代数中占据重要地位,也就是在机器学习中,占据重要定位了。为了更好地理解矩阵,本文从几何角度,更直观地对矩阵的某些性质和特征给予阐述。

注:以下讨论中仅限于实数矩阵范围。

1. 作为线性变换的矩阵

在线性代数中,线性方程组的形式是: b = A x \pmb{b} = \pmb{Ax} b=Ax ,其中 b ∈ R m \pmb{b}\in\mathbb{R}^m bRm​​​​​​ , A ∈ R m × n \pmb{A}\in\mathbb{R}^{m\times n} ARm×n​​​​​​ , x ∈ R n \pmb{x}\in\mathbb{R}^n xRn​​​​​​ 。此式表示 m m m​​​​​​ 个线性方程组, n n n​​​​​​ 个未知量, A \pmb{A} A​​​​​​ 是系数矩阵 x \pmb{x} x​​​​​​ 是线性方程组的解。此外,还可以认为矩阵 A \pmb{A} A​​​​​​ 是实现 R n → R m \mathbb{R}^n\to\mathbb{R}^m RnRm​​​​​​ 的线性变换 f f f​​​​​​ 。

如果研究矩阵如何实现线性变换,最简单的方式是观察它的列向量,矩阵的列向量表示标准基的 R n → R m \mathbb{R}^n\to\mathbb{R}^m RnRm​​ 的映射。例如, R 3 \mathbb{R}^3 R3​​ 中的标准基是:

e 1 = [ 1 0 0 ] , e 2 = [ 0 1 0 ] , e 3 = [ 0 0 1 ] \pmb{e}_1=\begin{bmatrix}1\\0\\0\end{bmatrix},\pmb{e}_2=\begin{bmatrix}0\\1\\0\end{bmatrix},\pmb{e}_3=\begin{bmatrix}0\\0\\1\end{bmatrix} e1= 100 ,e2= 010 ,e3= 001

根据定义, R 3 \mathbb{R}^3 R3​ 中的任意一个向量都可以写成标准基的线性组合:

x = [ x 1 x 2 x 3 ] = x 1 [ 1 0 0 ] + x 2 [ 0 1 0 ] x 3 [ 0 0 1 ] \pmb{x}=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=x_1\begin{bmatrix}1\\0\\0\end{bmatrix}+x_2\begin{bmatrix}0\\1\\0\end{bmatrix}x_3\begin{bmatrix}0\\0\\1\end{bmatrix} x= x1x2x3 =x1 100 +x2 010 x3 001

现在让我们看看,用矩阵 A = [ 1 2 0 − 5 3 1 ] \pmb{A}=\begin{bmatrix}1&2&0\\-5&3&1\end{bmatrix} A=[152301] 乘以标准基中的一个向量,会发生什么,例如 A e 2 \pmb{Ae}_2 Ae2​​ :

[ 0 0 0 ] [ 1 2 0 − 5 3 1 ] ⏞ A [ 0 1 0 ] ⏞ e 2 = [ 0 + 2 + 0 0 + 3 + 0 ] = [ 2 3 ] \overbrace{\vphantom{\begin{bmatrix}0\\0\\0\end{bmatrix}}\left[\begin{array}{c|c|c}1 & \color{#bc2612}{2} & 0 \\ -5 & \color{#bc2612}{3} &1\end{array}\right]}^{\pmb{A}} \overbrace{\begin{bmatrix}0 \\ 1 \\ 0\end{bmatrix}}^{\pmb{e}_2}=\begin{bmatrix}0 + \color{#bc2612}{2} + 0 \\ 0 + \color{#bc2612}{3} + 0\end{bmatrix}=\begin{bmatrix}\color{#bc2612}{2} \\ \color{#bc2612}{3}\end{bmatrix} 000 [152301] A 010 e2=[0+2+00+3+0]=[23]

也就是说,矩阵 A \pmb{A} A​​​​​​​ 的第二个列向量告诉我们,它将 R 3 \mathbb{R}^3 R3​​​​​​​ 的第二个基向量映射到 R 2 \mathbb{R}^2 R2​​​​​​​ 。如果将 R 3 \mathbb{R}^3 R3​​​​​​​ 的基向量组成 3 × 3 3\times3 3×3​​​​​​​ 的矩阵,通过矩阵乘法, R 3 \mathbb{R}^3 R3​​​​​​​ 的标向量映射到 R 2 \mathbb{R}^2 R2​​​​​​​ 。

[ 1 2 0 − 5 3 1 ] [ 1 0 0 0 1 0 0 0 1 ] = [ 1 2 0 − 5 3 1 ] \left[\begin{array}{c|c|c}1 & 2 & 0 \\ -5 & 3 & 1\end{array}\right]\left[\begin{array}{c|c|c}\color{#11accd}{1} & \color{#bc2612}{0} & \color{#807504}{0} \\ \color{#11accd}{0} & \color{#bc2612}{1} & \color{#807504}{0} \\\color{#11accd}{0} & \color{#bc2612}{0} & \color{#807504}{1}\end{array}\right]=\left[\begin{array}{c|c|c}\color{#11accd}{1} & \color{#bc2612}{2} & \color{#807504}{0}\\ \color{#11accd}{-5} & \color{#bc2612}{3} & \color{#807504}{1}\end{array}\right] [152301] 100010001 =[152301]

以上式子等号右侧的矩阵,每一列就是 R 3 \mathbb{R}^3 R3​​​ 的基映射到 R 2 \mathbb{R}^2 R2​​​ 后的基向量,也可以记作 f ( e 1 ) = [ 1 − 5 ] , f ( e 2 ) = [ 2 3 ] , f ( e 3 ) = [ 0 1 ] f(\pmb{e}_1)=\begin{bmatrix}1\\-5\end{bmatrix},f(\pmb{e}_2)=\begin{bmatrix}2\\3\end{bmatrix},f(\pmb{e}_3)=\begin{bmatrix}0\\1\end{bmatrix} f(e1)=[15],f(e2)=[23],f(e3)=[01]​​​​ 。

假设 R 3 \mathbb{R}^3 R3​​​​​ 中的向量 x = [ 1.2 1.5 − 2 ] \pmb{x}=\begin{bmatrix}1.2\\1.5\\-2\end{bmatrix} x= 1.21.52 ​​​​​ ,如果计算 A x \pmb{Ax} Ax​​​​​ ,即表示将向量 x \pmb{x} x​​​​​ 映射到 R 2 \mathbb{R}^2 R2​​​​​ 中,即:

[ 0 0 0 ] [ 1 2 0 − 5 3 1 ] ⏞ A [ 0 0 0 ] [ 1.2 1.5 − 2 ] ⏞ x = [ 0 0 0 ] [ 4.2 − 3.5 ] ⏞ f ( x ) (1) \overbrace{\vphantom{\begin{bmatrix}0\\0\\0\end{bmatrix}}\left[\begin{array}{c|c|c}1 & 2 & 0 \\ -5 & 3 & 1\end{array}\right]}^{\pmb{A}}\overbrace{\vphantom{\begin{bmatrix}0\\0\\0\end{bmatrix}}\begin{bmatrix}1.2 \\ 1.5 \\ -2\end{bmatrix}}^{\pmb{x}}= \overbrace{ \vphantom{\begin{bmatrix}0\\0\\0\end{bmatrix}} \begin{bmatrix} 4.2 \\ -3.5 \end{bmatrix}}^{f(\pmb{x})}\tag{1} 000 [152301] A 000 1.21.52 x= 000 [4.23.5] f(x)(1)

此外,还可以用向量 x \pmb{x} x​ 的系数与 f ( e 1 ) , f ( e 2 ) , f ( e 3 ) f(\pmb{e}_1),f(\pmb{e}_2),f(\pmb{e}_3) f(e1),f(e2),f(e3)​ 的线性组合,表示映射后的 R 2 \mathbb{R}^2 R2​ 中的向量:

1.2 [ 1 − 5 ] ⏞ f ( e 1 ) + 1.5 [ 2 3 ] ⏞ f ( e 2 ) − 2 [ 0 1 ] ⏞ f ( e 3 ) = [ 1.2 + 3 + 0 − 6 + 4.5 − 2 ] = [ 4.2 − 3.5 ] ⏞ f ( x ) (2) 1.2\overbrace{\begin{bmatrix}1 \\ -5\end{bmatrix}}^{f(\pmb{e}_1)}+1.5\overbrace{\begin{bmatrix}2 \\ 3\end{bmatrix}}^{f(\pmb{e}_2)}-2\overbrace{\begin{bmatrix}0 \\ 1\end{bmatrix}}^{f(\pmb{e}_3)}= \begin{bmatrix}1.2 + 3 + 0 \\-6 + 4.5 - 2\end{bmatrix}=\overbrace{\begin{bmatrix}4.2 \\-3.5 \end{bmatrix}}^{f(\pmb{x})}\tag{2} 1.2[15] f(e1)+1.5[23] f(e2)2[01] f(e3)=[1.2+3+06+4.52]=[4.23.5] f(x)(2)

比较(1)式和(2)式,很酷!

上面两个式子可以帮助我们理解矩阵乘法,即将向量映射到转换矩阵 A \pmb{A} A​​​​ 的列空间(列向量张成的空间), f ( x ) f(\pmb{x}) f(x)​​​​ 恰为矩阵 A \pmb{A} A​​​​​ 的列向量的线性组合,系数为向量 x \pmb{x} x 的元素。

以线性变换或者映射的角度理解矩阵,是线性代数的关键。

线性变换 f : R n → R m f:\mathbb{R}^n\to\mathbb{R}^m f:RnRm​​​​ 意味着将 R n \mathbb{R}^n Rn​​​​ 中的向量 x \pmb{x} x​​​​ 映射成为 R m \mathbb{R}^m Rm​​​ 的向量,它是 R m \mathbb{R}^m Rm​​​ 基的线性组合,能表示为矩阵与向量的乘积。

x = x 1 e 1 + x 2 e 2 + ⋯ + x n e n \pmb{x} = x_1\pmb{e}_1+x_2\pmb{e}_2+\cdots+x_n\pmb{e}_n x=x1e1+x2e2++xnen

f ( x ) = f ( x 1 e 1 + x 2 e 2 + ⋯ + x n e n ) = f ( x 1 e 1 ) + f ( x 2 e 2 ) + ⋯ + f ( x n e n ) = x 1 f ( e 1 ) + x 2 f ( e 2 ) + ⋯ + x n f ( e n ) = [ f ( e 1 ) f ( e 2 ) ⋯ f ( e n ) ] x \begin{split}f(\pmb{x})&=f(x_1\pmb{e}_1+x_2\pmb{e}_2+\cdots+x_n\pmb{e}_n)\\&=f(x_1\pmb{e}_1)+f(x_2\pmb{e}_2)+\cdots+f(x_n\pmb{e}_n)\\&=x_1f(\pmb{e}_1)+x_2f(\pmb{e}_2)+\cdots+x_nf(\pmb{e}_n)\\&=\begin{bmatrix}f(\pmb{e}_1)&f(\pmb{e}_2)&\cdots&f(\pmb{e}_n)\end{bmatrix}\pmb{x}\end{split} f(x)=f(x1e1+x2e2++xnen)=f(x1e1)+f(x2e2)++f(xnen)=x1f(e1)+x2f(e2)++xnf(en)=[f(e1)f(e2)f(en)]x

2. 从几何角度理解

从几何角度理解矩阵所具有的线性变换特点,能更直观感受到其中的奇妙。以 2 × 2 2\times2 2×2​​​​ 级矩阵为例,它实现了 R 2 → R 2 \mathbb{R}^2\to\mathbb{R}^2 R2R2​​​​ 的线性变换,例如用下述的矩阵 A \pmb{A} A​​​​ 对向量 x = [ 1 2 ] \pmb{x}=\begin{bmatrix}1\\2\end{bmatrix} x=[12]​​​​ 进行变换,即:

A x = [ 2 − 1 0 1 ] ⏞ A [ 1 2 ] ⏞ x = [ 0 2 ] ⏞ f ( x ) \pmb{Ax}=\overbrace{\begin{bmatrix}2&-1\\0&1\end{bmatrix}}^{\pmb{A}}\overbrace{\begin{bmatrix}1\\2\end{bmatrix}}^{\pmb{x}}=\overbrace{\begin{bmatrix}0\\2\end{bmatrix}}^{f(\pmb{x})} Ax=[2011] A[12] x=[02] f(x)
​​​
以图示的方式,如下图所示,图 A 表示向量 x \pmb{x} x​​​​​​​ 是 R 2 \mathbb{R}^2 R2​​​​​​​ 的标准正交基的线性组合,图 B 表示经过转换之后的向量 f ( x ) f(\pmb{x}) f(x)​​​​​​ 在以矩阵 A \pmb{A} A​​​​​​ 的列向量为基的 R 2 \mathbb{R}^2 R2​​​​​​ 中的基向量的线性组合,即 A x \pmb{Ax} Ax​​​​​​ 表示经过线性变换之后,在 A \pmb{A} A​​​​​​ 的列向量张成的向量空间中的向量。

在这里插入图片描述

注意观察,上图中 A 以方格为单位,B 的平行四边形网格表示了变换后的空间。可以想象,通过矩阵,不仅可以实现对向量的变换,也能够对 R n \mathbb{R}^n Rn​ 中所有的 m × n m\times n m×n​​ 矩阵进行变换。

3. 线性变换的类型

矩阵能够实现的线性变换包括旋转、反射、伸缩、剪切、投影等。如下图所示,A 部分第一行最左为变换前的 R 2 \mathbb{R}^2 R2​​ 空间的图形,向右依次表示:沿 x 轴压缩、旋转;第二行从左向右依次表示:向 R \mathbb{R} R​​ 的投影、基于 y 轴的反射、剪切。B 部分则表示的是 R 2 \mathbb{R}^2 R2​​ 中的非线性变换。

在这里插入图片描述

线性函数是 1 次或更少次的多项式,这意味着变量的变化率恒定。因此,不能用线性变换表示的空间的形变,即若 R n \mathbb{R}^n Rn​​​​ 中均匀分布的点在 R m \mathbb{R}^m Rm​​​ 中若不均匀了(如上图 B 所示),就不能使用线性变换。

下面讨论几种特殊矩阵的变换,为了简化问题,仅以 n × n n\times n n×n矩阵为例。

3.1 对角矩阵

对角矩阵乘以一个向量,其形式如下:

[ α 1 ⋱ α i ⋱ α n ] [ x 1 ⋮ x i ⋮ x n ] = x 1 [ α 1 ⋮ ⋮ ⋮ ⋮ ] + ⋯ + x i [ ⋮ ⋮ α i ⋮ ⋮ ] + ⋯ + x n [ ⋮ ⋮ ⋮ ⋮ α n ] \begin{bmatrix} \color{#11accd}{\alpha_1} & & & & \\ & \ddots & & & \\ & & \color{#bc2612}{\alpha_i} & & \\ & & & \ddots & \\ & & & & \color{#807504}{\alpha_n} \end{bmatrix} \begin{bmatrix} x_1 \\ \vdots \\ x_i \\ \vdots \\ x_n\end{bmatrix}= x_1 \begin{bmatrix} \color{#11accd}{\alpha_1} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \end{bmatrix} + \dots + x_i \begin{bmatrix} \phantom{\vdots} \\ \phantom{\vdots} \\ \color{#bc2612}{\alpha_i} \\ \phantom{\vdots} \\ \phantom{\vdots} \end{bmatrix} + \dots + x_n \begin{bmatrix} \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \color{#807504}{\alpha_n} \end{bmatrix} α1αiαn x1xixn =x1 α1 ++xi αi ++xn αn

这意味着通过对角矩阵能够指定向量中的某个元素发生特定变换。如下图所示,如果 α i > 1 \alpha_i\gt1 αi>1​​​​ ,则向量中对应的第 i i i​​​​​ 个元素会被拉伸(变大);如果 α i < 0 \alpha_i\lt0 αi<0​​​​ ,则能令第 i i i​​​​ 个元素实现反射。通过对角矩阵不能实现剪切变换。

在这里插入图片描述

上图中 A 的单位方格表示标准基下的形状;B 旋转 90 ° 90° 90°​​ ;C 基于 y 轴反射;D 实现了沿横轴方向的拉伸 。

注意,当 ∀ i , α i = 1 \forall i, \alpha_i = 1 i,αi=1​​​ ,对角矩阵是单位矩阵,对应着没有变换时的标准基。其行列式为 1 1 1​​ ,不会改变向量子空间。

3.2 剪切矩阵

此类矩阵的命名即源于它的作用效果,在形式上可与对角矩阵进行比较,注意其中的 β \beta β​ 。

[ α 1 … β ⋱ ⋮ α i ⋱ α n ] [ x 1 ⋮ x i ⋮ x n ] = x 1 [ α 1 ⋮ ⋮ ⋮ ⋮ ] + ⋯ + x i [ β ⋮ α i ⋮ ⋮ ] + ⋯ + x n [ ⋮ ⋮ ⋮ ⋮ α n ] \begin{bmatrix} \alpha_1 & \dots & \color{#bc2612}{\beta} & & \\ & \ddots & \vdots & & \\ & & \color{#bc2612}{\alpha_i} & & \\ & & & \ddots & \\ & & & & \alpha_n \end{bmatrix} \begin{bmatrix} x_1 \\ \vdots \\ x_i \\ \vdots \\ x_n \end{bmatrix}= x_1 \begin{bmatrix} \color{#11accd}{\alpha_1} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \end{bmatrix} + \dots + x_i \begin{bmatrix} \color{#bc2612}{\beta} \\ \phantom{\vdots} \\ \color{#bc2612}{\alpha_i} \\ \phantom{\vdots} \\ \phantom{\vdots} \end{bmatrix} + \dots + x_n \begin{bmatrix} \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \phantom{\vdots} \\ \color{#807504}{\alpha_n} \end{bmatrix} α1βαiαn x1xixn =x1 α1 ++xi βαi ++xn αn

如果没有 β \beta β​​​​​​ ,则向量中的 x 1 x_1 x1​​​​​​ 被拉伸为 α 1 \alpha_1 α1​​​​​​​ 倍;当有了 β \beta β​​​​​​ 后,变换后的向量的第一个元素是 β \beta β​​​​​​ 和 α 1 \alpha_1 α1​​​​​​ 的线性组合。其效果可以用下面的二维图示表示,原来的单位方格在一个维度上实现了剪切。

在这里插入图片描述

前面曾经使用过的矩阵 A = [ 2 − 1 0 1 ] \pmb{A}=\begin{bmatrix}2&-1\\0&1\end{bmatrix} A=[2011]​ 也是剪切矩阵

3.3 正交矩阵

正交矩阵是行向量和列向量正交的方阵,且行向量和列向量都是单位向量。以 a i \pmb{a}_i ai​​​​ 表示矩阵 A \pmb{A} A​​​​ 的第 i i i​​​​ 列向量。根据正交定义,如果两个向量的点积等于 0 0 0​​​​​ ,则这两个向量正交。用几何的方式表示,如下图所示,将一个向量投影到另一个向量方向上,如果两个向量不正交,投影的长度就是两个向量点积的结果(如下图 A 所示),下图中 B 显示两个向量正交,则投影的长度为 0 0 0​​​​ ,即两个向量点积结果为 0 0 0​​​​ 。

在这里插入图片描述

即: a i T a j = 0 , i ≠ j \pmb{a}_i^{\rm{T}}\pmb{a}_j=0,i\ne j aiTaj=0,i=j​​​ 。又由于是单位向量, a i T a i = 1 \pmb{a}_i^{\rm{T}}\pmb{a}_i=1 aiTai=1​​​ 。从而对于正交矩阵 A ∈ R n × n \pmb{A}\in\mathbb{R}^{n\times n} ARn×n​​​ ,有:

A A T ⁡ = A T ⁡ A = I n \pmb{AA}^{\operatorname{T}}=\pmb{A}^{\operatorname{T}}\pmb{A}=\pmb{I}_n AAT=ATA=In

可以把行和列写出来,就更直观了:

A ⊤ A = [ a 1 ⊤ a 2 ⊤ ⋮ a n ⊤ ] [ a 1 a 2 … a n ] = [ 1 1 ⋱ 1 ] = I n \pmb{A}^{\top} \pmb{A}= \left[\begin{array}{c} \pmb{a}_1^{\top} \\ \hline \pmb{a}_2^{\top} \\ \hline \vdots \\ \hline \pmb{a}_n^{\top} \end{array}\right] \left[ \begin{array}{c|c|c|c} \pmb{a}_1 & \pmb{a}_2 & \dots & \pmb{a}_n \end{array} \right]= \begin{bmatrix} 1 & & & \\ & 1 & & \\ & & \ddots & \\ & & & 1 \end{bmatrix} = \pmb{I}_n AA= a1a2an [a1a2an]= 111 =In

从几何角度讲,正交矩阵能够旋转或翻转向量,但不能拉伸或压缩。如果更严谨地研究正交矩阵,需要了解如下几项性质。

3.3.1. 保持角度

矩阵 V \pmb{V} V​​​​ 的列向量集合是 { v 1 , v 2 , ⋯ , v n } \{\pmb{v}_1,\pmb{v}_2,\cdots,\pmb{v}_n\} {v1,v2,,vn}​​​​ ,矩阵 A \pmb{A} A​​​​ 是单位正交矩阵,线性变换 A V \pmb{AV} AV​​​​ 并不改变列向量两两之间的夹角。

对于其中的列向量 v i \pmb{v}_i vi​​​​ 和 v j \pmb{v}_j vj​​​​ 其中 i ≠ j i\ne j i=j​​​​ ,它们的点积是 v i ⋅ v j \pmb{v}_i\cdot\pmb{v}_j vivj​​​​ 。

A v i ⋅ A v j = ( A v i ) ⊤ ( A v j ) = v i ⊤ A ⊤ A v j = v i ⊤ v j = v i ⋅ v j \begin{split} \pmb{Av}_i \cdot \pmb{Av}_j &= (\pmb{Av}_i)^{\top} (\pmb{Av}_j) \\ &= \pmb{v}_i^{\top} \pmb{A}^{\top} A \pmb{v}_j \\ &= \pmb{v}_i^{\top} \pmb{v}_j \\ &= \pmb{v}_i \cdot \pmb{v}_j \end{split} AviAvj=(Avi)(Avj)=viAAvj=vivj=vivj

即:原矩阵的列向量之间的夹角经过单位正交矩阵映射之后依然保留。

3.3.2. 保持长度

针对矩阵 V \pmb{V} V​​ 的列向量,经单位正交矩阵 A \pmb{A} A​​ 映射后,列向量的长度不变。

假设 v \pmb{v} v​​ 是矩阵 V \pmb{V} V​​ 的一个列向量,则:

∥ A v ∥ 2 2 = A v ⋅ A v = ( A v ) ⊤ ( A v ) = v ⊤ A ⊤ A v = v ⊤ v = v ⋅ v = ∥ v ∥ 2 2 \begin{split} \lVert \pmb{Av} \lVert_2^2 &= \pmb{Av} \cdot \pmb{Av} \\ &= (\pmb{Av})^{\top} (\pmb{Av}) \\ &= \pmb{v}^{\top} \pmb{A}^{\top} \pmb{Av} \\ &= \pmb{v}^{\top} \pmb{v} \\ &= \pmb{v} \cdot \pmb{v} \\ &= \lVert \pmb{v} \rVert_2^2 \end{split} Av22=AvAv=(Av)(Av)=vAAv=vv=vv=v22

即:原矩阵的列向量的长度经过单位正交矩阵映射之后依然保留。

3.3.3. 保持面积

单位正交矩阵 A \pmb{A} A​ 的行列式:

1 = det ⁡ ( I n ) = det ⁡ ( A ⊤ A ) = det ⁡ ( A ⊤ ) det ⁡ ( A ) = ( det ⁡ ( A ) ) 2 1 = \det(\pmb{I}_n) = \det(\pmb{A}^{\top} \pmb{A}) = \det(\pmb{A}^{\top}) \det(\pmb{A}) = (\det(\pmb{A}))^2 1=det(In)=det(AA)=det(A)det(A)=(det(A))2

所以, det ⁡ ( A ) = ± 1 \det(\pmb{A})=\pm1 det(A)=±1

  • det ⁡ ( A ) = 1 \det(\pmb{A})=1 det(A)=1 时,单位正交矩阵 A \pmb{A} A​​ 是一个旋转矩阵
  • det ⁡ ( A ) = − 1 \det(\pmb{A})=-1 det(A)=1​​​ 时,单位正交矩阵 A \pmb{A} A​​​ 是旋转反射矩阵(rotoreflection),即旋转之后再反射,也称为瑕旋转(improer fotation)。

于是,如果用 A \pmb{A} A​​​​ 对另外的矩阵进行映射,该矩阵的行列式可视为 n 维多面体(如果是 2 × 2 2\times2 2×2​​​​ 矩阵的行列式,则是平面),其多面体的表面积在映射之后依然保持。

4. 线性函数

如果 f f f​​ 和 g g g​​ 是线性的,则 f ( g ( x ) ) f(g(x)) f(g(x))​​​ 也是线性的。由此可以用矩阵的乘法表示矩阵的变换。由奇异值分解 [ 3 ] ^{[3]} [3]​​ :

A = U Σ V ⊤ \pmb{A}=\pmb{U\Sigma V}^{\top} A=UΣV

其中 A ∈ R m × n , U ∈ R m × m , V ∈ R N × n \pmb{A}\in \mathbb{R}^{m\times n},\pmb{U}\in \mathbb{R}^{m\times m}, \pmb{V}\in \mathbb{R}^{N\times n} ARm×n,URm×m,VRN×n​​ , Σ ∈ R m × n \pmb{\Sigma}\in \mathbb{R}^{m\times n} ΣRm×n​​​ 是正交对角矩阵

可知,任何矩阵变换都可以分解成由单位矩阵和对角矩阵组成的简单矩阵变换。

下面以实现旋转变换的 2 × 2 2\times2 2×2矩阵 R \pmb{R} R​ 为例,对其进行奇异值分解。

[ cos ⁡ ( θ ) − sin ⁡ ( θ ) sin ⁡ ( θ ) cos ⁡ ( θ ) ] ⏞ R = M 1 M 2 M 3 \overbrace{\begin{bmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{bmatrix}}^{\pmb{R}} = \pmb{M}_1\pmb{M}_2 \pmb{M}_3 [cos(θ)sin(θ)sin(θ)cos(θ)] R=M1M2M3

M 1 = [ 1 α 0 1 ] M 2 = [ 1 0 β 1 ] M 3 = [ 1 γ 0 1 ] \pmb{M}_1 = \begin{bmatrix} 1 & \alpha \\ 0 & 1 \end{bmatrix} \qquad \pmb{M}_2 = \begin{bmatrix} 1 & 0 \\ \beta & 1 \end{bmatrix} \qquad \pmb{M}_3 = \begin{bmatrix} 1 & \gamma \\ 0 & 1 \end{bmatrix} M1=[10α1]M2=[1β01]M3=[10γ1]

利用三角函数的知识,可知: α = − tan ⁡ ( θ 2 ) , β = sin ⁡ ( θ ) , γ = − tan ⁡ ( θ 2 ) \alpha=-\tan(\frac{\theta}{2}), \beta=\sin(\theta), \gamma = -\tan(\frac{\theta}{2}) α=tan(2θ),β=sin(θ),γ=tan(2θ)​​​ 。下图中假设 θ = π 3 \theta=\frac{\pi}{3} θ=3π​​​ ,演示了上述三个矩阵分别对最左侧的原始向量所实现的旋转变换。

在这里插入图片描述

附:下面是对上述旋转变换的矩阵 R \mathbb{R} R​ 进行奇异值分解后所得矩阵的计算过程。

根据上述分解形式,首先计算 M 1 M 2 \pmb{M}_1\pmb{M}_2 M1M2​ :

[ 1 α 0 1 ] [ 1 0 β 1 ] ⏞ M 1 M 2 = [ 1 + α β α β 1 ] \overbrace{\begin{bmatrix}1 & \alpha \\0 & 1\end{bmatrix}\begin{bmatrix}1 & 0 \\\beta & 1\end{bmatrix}}^{\pmb{M}_1\pmb{M}_2}=\begin{bmatrix}1 + \alpha \beta & \alpha \\\beta & 1\end{bmatrix} [10α1][1β01] M1M2=[1+αββα1]

再计算 M 1 M 2 M 3 \pmb{M}_1\pmb{M}_2\pmb{M}_3 M1M2M3​ :

[ 1 + α β α β 1 ] [ 1 γ 0 1 ] ⏞ M 1 M 2 M 3 = [ 1 + α β γ + α β γ + α β β γ + 1 ] \overbrace{\begin{bmatrix} 1 + \alpha \beta & \alpha \\ \beta & 1 \end{bmatrix} \begin{bmatrix} 1 & \gamma \\ 0 & 1 \end{bmatrix}}^{\pmb{M}_1 \pmb{M}_2 \pmb{M}_3}= \begin{bmatrix} 1 + \alpha \beta & \gamma + \alpha \beta \gamma + \alpha \\ \beta & \beta \gamma + 1 \end{bmatrix} [1+αββα1][10γ1] M1M2M3=[1+αββγ+αβγ+αβγ+1]

根据前述定义的旋转矩阵,得:

[ cos ⁡ ( θ ) − sin ⁡ ( θ ) sin ⁡ ( θ ) cos ⁡ ( θ ) ] = [ 1 + α β γ + α β γ + α β β γ + 1 ] \begin{bmatrix} \cos(\theta) & - \sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{bmatrix}= \begin{bmatrix} 1 + \alpha \beta & \gamma + \alpha \beta \gamma + \alpha \\ \beta & \beta \gamma + 1 \end{bmatrix} [cos(θ)sin(θ)sin(θ)cos(θ)]=[1+αββγ+αβγ+αβγ+1]

从而: β = sin ⁡ ( θ ) \beta=\sin(\theta) β=sin(θ)​​​

cos ⁡ ( θ ) = 1 + α β = 1 + α sin ⁡ ( θ ) α = cos ⁡ ( θ ) − 1 sin ⁡ ( θ ) = − 1 − cos ⁡ ( θ ) sin ⁡ ( θ ) = − tan ⁡ ( θ 2 ) \begin{split} \cos(\theta) &= 1 + \alpha \beta \\ &= 1 + \alpha \sin(\theta) \\ \alpha &= \frac{\cos(\theta) - 1}{\sin(\theta)} \\ &= -\frac{1 - \cos(\theta)}{\sin(\theta)} \\ &= - \tan\Big(\frac{\theta}{2}\Big) \end{split} cos(θ)α=1+αβ=1+αsin(θ)=sin(θ)cos(θ)1=sin(θ)1cos(θ)=tan(2θ)

cos ⁡ ( θ ) = β γ + 1 = sin ⁡ ( θ ) γ + 1 cos ⁡ ( θ ) − 1 sin ⁡ ( θ ) = γ γ = − 1 − cos ⁡ ( θ ) sin ⁡ ( θ ) = − tan ⁡ ( θ 2 ) \begin{split} \cos(\theta) &= \beta \gamma + 1 \\ &= \sin(\theta) \gamma + 1 \\ \frac{\cos(\theta) - 1}{\sin(\theta)} &= \gamma \\ \gamma &= - \frac{1 - \cos(\theta)}{\sin(\theta)} \\ &= - \tan\Big(\frac{\theta}{2}\Big) \end{split} cos(θ)sin(θ)cos(θ)1γ=βγ+1=sin(θ)γ+1=γ=sin(θ)1cos(θ)=tan(2θ)

本文对线性变换从几何角度给予阐述,有利于更直观地理解线性变换的有关概念。在学习线性代数时,这是一种很重要的学习和思考方法。

参考文献

[1]. A Geometrical Understanding of Matrices

[2]. 维基百科:瑕旋转

[3]. 齐伟. 机器学习数学基础. 电子工业出版社


http://www.ppmy.cn/server/171066.html

相关文章

机器学习数学基础:34.克隆巴赫α系数

克隆巴赫α系数&#xff08;Cronbach’s Alpha&#xff09;超详细教程 专为小白打造&#xff0c;零基础也能轻松学会&#xff01; 一、深度理解α系数 克隆巴赫α系数&#xff08;Cronbach’s Alpha&#xff09;是在评估测验质量时极为关键的一个指标&#xff0c;主要用于衡量…

基于FD-MIMO技术的雷达通信一体化系统波形设计matlab模拟与仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) FD-MIMO雷达相比传统MIMO雷达具有更好的检测性能&#xff0c;能区分相同角度不同距离的目标。 2.算法运行软件版本 mat…

2025GDC 大会视角:服务器与 AI大模型算力发展的深度剖析

2025 年 2 月 21 -23 日&#xff0c;2025 全球开发者先锋大会&#xff08;2025GDC 大会&#xff09;在上海盛大召开&#xff0c;以 “模塑全球&#xff0c;无限可能” 为主题&#xff0c;吸引了众多开发者、企业及学术机构代表。开源成为本次大会的高频词&#xff0c;中国开源参…

反爬虫策略

反爬虫策略是网站用于防止自动化程序&#xff08;爬虫&#xff09;恶意抓取数据的核心手段&#xff0c;其设计需兼顾有效性、用户体验和合法性。 一、 基础检测与拦截 User-Agent检测&#xff1a;验证请求头中的User-Agent&#xff0c;拦截非常见或已知爬虫标识。IP频率限制&…

记一次内存泄漏导致的线上超时问题

最近新上线功能使用了线程池来优化异步处理消息&#xff0c;对于CPU的使用率有所升高&#xff0c;自从新版本上线后&#xff0c;发现运行每隔几天就会出现超时的问题&#xff0c;经过排查发现是内存泄漏频繁YGC导致的&#xff0c;记录下本次排查的一些思路。 问题排查过程 定…

供应链与生产制造L1-L4级高阶流程规划框架(53页PPT)

《供应链与生产制造L1-L4级高阶流程规划框架》是一份详尽的文档&#xff0c;它详细描述了从战略规划到制造与供应链管理的整个流程。文档首先从1.0战略规划管理开始&#xff0c;涵盖了企业整体战略的制定和执行。方案还强调了流程信息化管理的重要性&#xff0c;指出通过信息化…

怎么合并主从分支,要注意什么

在 Git 中合并主从分支&#xff08;例如将 feature 分支合并到 main 分支&#xff09;是一个常见操作。以下是具体步骤和注意事项&#xff1a; 合并分支的步骤 切换到主分支 git checkout main确保当前在 main 分支。 拉取最新代码 git pull origin main确保 main 分支是最…

神经网络发展简史:从感知机到通用智能的进化之路

引言 神经网络作为人工智能的核心技术&#xff0c;其发展历程堪称一场人类对生物大脑的致敬与超越。本文将用"模型进化"的视角&#xff0c;梳理神经网络发展的五大关键阶段&#xff0c;结合具象化比喻和经典案例&#xff0c;为读者呈现一幅清晰的AI算法发展图谱。 一…