转载自 http://zhangpengfei.tech/2018/11/19/hello-2015/
本科的时候也学过线性代数,但是当时只是学了一遍,或者说只是为了考试学了一遍,当时从来没有问过学来干嘛,不过当我开始系统地学习PCA(Principal Component Analysis)
及SVD(Singular Value Decomposition)之后,我才发现,喔,原来线性代数还可以这么用, 有的时候,通过一些简单的转换,就可以以量级地减少某些应用的计算量。这篇博客主要参考了一下这些资料:
在这篇博客中,我们重点要搞清楚两个概念,一个是线性变换,一个是欧式空间。
一直以来,对向量 v v v做线性变换(linear transformation), 我都简单地认为是在 v v v左边乘以一个矩阵, M v Mv Mv。
事实上线性变化其实是有一个非常严格的定义的,现在有一个变换, T T T,当输入一个向量 v v v,输出一个值 T ( v ) T(v) T(v),
这个输出可以是一个向量,也可以是一个标量。只要变换 T T T满足以下这些条件:
对于任意向量 v v v 和 w w w, 以及任意实数 c c c,
T ( v + w ) = T ( v ) + T ( w ) T(v+w) = T(v) + T(w) T(v+w)=T(v)+T(w)
T ( c v ) = c T ( v ) T(cv)=cT(v) T(cv)=cT(v)
并且如果向量 v = 0 v=0 v=0,那么 T ( v ) T(v) T(v) 必须等于 0 0 0(当然这个可以从第一个条件推导出来)。
现在我们需要问一个问题:是不是所有的从向量空间 V = R n V=R^n V=Rn 到向量空间 W = R m W=R^m W=Rm 的线性变换都是通过矩阵得来的,如 w = A v w=Av w=Av? 当一个线性变换T被描述为旋转,投影等,其后是否总是存在着一个矩阵。答案是yes,所以我一开始的理解其实是正确的,至少在一般情况是这样。
现在假设某个线性转换 T T T将一个 n n n维的向量空间 V V V转换到一个 m m m维的向量空间 W W W。其中空间 V V V的基向量是 v 1 , v 2 , v 3 , . . . , v n v_1, v_2, v_3, ..., v_n v1,v2,v3,...,vn, 空间 W W W的基向量是 w 1 , w 2 , w 3 , . . . , w m w_1, w_2, w_3,..., w_m w1,w2,w3,...,wm。 我们必然可以用一个矩阵 A A A来来表示这个转换,那么如何求解这个矩阵? 为了找到矩阵 M M M的第一列,我们通过转换 T T T 将 v 1 v_1 v1转换为 T ( v 1 ) T(v_1) T(v1),因为 T ( v 1 ) T(v_1) T(v1) 存在于 m m m维向量空间 W W W中,所以可以用以下形式表示 T ( v 1 ) T(v_1) T(v1):
T ( v 1 ) = a 11 w 1 + . . . + a m 1 w m T(v_1)=a_{11}w_{1} + ... + a_{m1}w_{m} T(v1)=a11w1+...+am1wm
a 11 , a 21 , . . . , a m 1 a_{11}, a_{21}, ...,a_{m1} a11,a21,...,am1 即矩阵 A A A的第一列,同理,我们亦可以求出 A A A的其他列。从 A A A的求解过程中,我们也可以看出矩阵 A A A取决于基向量 { v i } i = 0 n \{v_i\}_{i=0}^n {vi}i=0n和 { w i } i = 0 m \{w_{i}\}_{i=0}^{m} {wi}i=0m。
现在对于欧式空间的定义有很多种,但这些定义之间只有非常细微的差别。在这里我们选取一种最简单并且满足我们要求的定义:
设 V V V是实数域 R R R上的一个有限维向量空间。如果对于 V V V中任意一对向量 v v v, w w w, 有一个确定的记做 < v , w > <v,w> <v,w>的实数与它们对应,叫做向量 v v v与 w w w的内积(标量积),并且下列条件被满足:
< v , w > = < w , v > <v,w>=<w,v> <v,w>=<w,v>
< c x , y > = c < x , y > <cx,y>=c<x,y> <cx,y>=c<x,y>
< v + w , z > = < v , z > + < w , z > <v+w, z>=<v,z>+<w,z> <v+w,z>=<v,z>+<w,z>
⟨ v , v ⟩ > 0 \langle v, v\rangle >0 ⟨v,v⟩>0, if v ≠ 0 v\ne 0 v̸=0;
这里 v , w , z v,w,z v,w,z是 V V V中的任意向量, c c c是任意实数,那么 V V V叫作对这个内积的欧式空间。其中有很多种不同的映射 < x , y > <x,y> <x,y>满足上述条件,其中有一种最为有名:
< x , y > = ∑ i = 1 n x i y i <x,y>=\sum_{i=1}^{n}x_iy_i <x,y>=i=1∑nxiyi
我们将此称为标准内积。这里,我们将关于标准内积的,以向量 ( 1 , 0 , . . . , 0 ) , ( 0 , 1 , . . . , 0 ) , ( 0 , 0 , . . . , 0 , 1 (1,0,...,0), (0,1,...,0), (0,0,...,0,1 (1,0,...,0),(0,1,...,0),(0,0,...,0,1$ 为基的欧式空间称为标准欧式空间。
现在,从任意欧式空间 V V V中,我们定义 V V V上的范数(norm)为 一个 V → R V\to R V→R 的映射,
∥ x ∥ = < x , x > \|x\|=\sqrt{<x,x>} ∥x∥=<x,x>, x ∈ V x\in V x∈V
这里我们可以简单地将欧几里得空间中的向量 x x x的范数看成是该向量到原点的距离。并且,任意范数为1的向量,都被称为单位向量。接下来我们看当欧式空中向量 x , y x,y x,y之间满足 < x , y > = 0 <x,y>=0 <x,y>=0时,会有什么有趣的事发生。
当向量 x , y ∈ V x,y\in V x,y∈V, V V V是欧式空间,且满足 < x , y > = 0 <x,y>=0 <x,y>=0, 那么我们称向量 x , y x,y x,y正交。当欧式空间中某个向量集 S S S中的向量两两正交时,则我们称该向量集为正交向量集,更进一步如果该向量集中的每个向量都是单位向量,那么我们称该向量集为标准正交向量集。在关于标准内积的欧式空间中最简单的正交向量集是标准基, ( 1 , 0 , . . . , 0 ) , ( 0 , 1 , . . . , 0 ) , ( 0 , 0 , . . . 0 , 1 ) (1,0,...,0),(0,1,...,0), (0,0,...0,1) (1,0,...,0),(0,1,...,0),(0,0,...0,1)。
从某种意义上说,欧式空间中的内积 < x , y > <x,y> <x,y>基本给出了向量 x x x在向量 y y y上投影的长度,这里我们给出向量 x x x在向量 y y y上投影的定义:
向量 x x x在向量 y y y上的投影, p y ( x ) p_y(x) py(x),是 V → V V\to V V→V的映射,定义为 p y ( x ) = < x , y > y ∥ y ∥ 2 p_y(x)=<x,y>\frac{y}{\|y\|^2} py(x)=<x,y>∥y∥2y。很容易证明向量 x − p y ( x ) x-p_y(x) x−py(x)与向量 p y ( x ) p_y(x) py(x)正交,即 ⟨ x − p y ( x ) , p y ( x ) ⟩ = 0 \langle x-p_y(x), p_y(x)\rangle=0 ⟨x−py(x),py(x)⟩=0。同时我们可以很容易地将欧式空间中的一个向量 v v v分解为两个正交的向量,即 v = ( v − p w ( v ) ) + P w ( v ) v=(v-p_w(v)) + P_w(v) v=(v−pw(v))+Pw(v)。
我们知道除了两两相互正交之外,标准基中的每个向量的范数都为1。 我们称这样类似于标准基的向量基为标准正交基。我们常常将标准正交基表示为 ( e 1 , e 2 , . . . , e n ) (e_1, e_2, ..., e_n) (e1,e2,...,en)。给定欧式空间 V V V的标准正交基,我们可以将该空间中的任意向量 v v v分解为:
v = p e 1 ( v ) + p e 2 ( v ) + . . . + p e n ( v ) = ⟨ v , e 1 ⟩ e 1 + . . . + ⟨ v , e n ⟩ e n v = p_{e_1}(v) + p_{e_2}(v) + ... + p_{e_n}(v) = \langle v,e_1\rangle e_1 + ... + \langle v, e_n\rangle e_n v=pe1(v)+pe2(v)+...+pen(v)=⟨v,e1⟩e1+...+⟨v,en⟩en
同时,因为一个向量在线性空间中可以表示为基向量的线性组合,所以我们可以知道这些内积 ⟨ v , e i ⟩ \langle v, e_i\rangle ⟨v,ei⟩就是那些相关的参数。正因为这个事实把我们导向一个非常有用的定理,不过在介绍这个定理之前,我们先需要说清楚一个定义:
在两个欧式空间 V , W V,W V,W,如果存在线性同构, f : V → W f:V\to W f:V→W, 对于任意 x , y ∈ V x,y\in V x,y∈V 满足 ⟨ x , y ⟩ V = ⟨ f ( x ) , f ( y ) ⟩ W \langle x,y\rangle_{V}= \langle f(x), f(y)\rangle_{W} ⟨x,y⟩V=⟨f(x),f(y)⟩W,那么我们说 V , W V,W V,W等距同构。
然而,两个向量空间之间如果存在线性同构,那么这两个向量空间是完全相同的。所以如果两个欧式空间等距同构,那么这两个欧式空间有相同的测度,拓扑及几何结构,可能仅仅是所采用的基不同。
所以我们有以下这个定理,任意一个 n n n维欧式空间都与 n n n维标准欧式空间等距同构。不过在证明这个定理之前,我们需要先证明,任意一个有限维的欧式空间都有一组标准正交基。
(Gram-Schmidt):有限维欧式空间中任意一组基都可以转换为一组标准正交积。这个定理被称为Gram-Schmidt定理。
证明:给定一个基(x_1,x_2, …, x_n),我们得到下面这个算法:
1:
e 1 = x 1 ∥ x 1 ∥ e_1 = \frac{x_1}{\|x_1\|} e1=∥x1∥x1
2:
For i = 2, …, n:
z i = ∑ j = 1 i − 1 p e j ( x i ) e i = x i − z i ∥ x i − z i ∥ z_i = \sum_{j=1}^{i-1}p_{e_j}(x_i) \\\\ e_i = \frac{x_i - z_i}{\|x_i - z_i\|} zi=j=1∑i−1pej(xi)ei=∥xi−zi∥xi−zi
我们可以从几何的角度来阐述上述算法,每一个 z i z_i zi都是 x i x_i xi在 ( e 1 , e 2 , . . . , e i − 1 ) (e_1, e_2, ..., e_{i-1}) (e1,e2,...,ei−1)为基的子向量空间中的投影。而 x i − z i x_i - z_i xi−zi正交于 v ∈ ( e 1 , e 2 , . . . , e i − 1 ) v\in (e_1, e_2, ..., e_{i-1}) v∈(e1,e2,...,ei−1), 而这里我们有可以保证 x i − z i ≠ 0 x_i-z_i\ne 0 xi−zi̸=0, 因为基 ( x 1 , x 2 , . . . , x n ) (x_1, x_2, ..., x_n) (x1,x2,...,xn)的线性不相关性。最后我们将 x i − z i x_i-z_i xi−zi 除以 ∥ x i − z i ∥ \|x_i - z_i\| ∥xi−zi∥归一化后得到 e i e_i ei。
接下来我们需要证明这篇文章最重要的一个定理:任意一个n维欧式空间都与n维标准欧式空间等距同构。 这里,因为每个n维欧式空间W都有一个标准正交基(e_1, e_2, …, e_n), 已知标准欧式空间为E,令映射f: E\to W为f((x_1, x_2, …, x_n)) = x_1e_1 + x_2e_2 + … + x_ne_n,由此我们可以看到:
⟨ f ( ( a 1 , a 2 , . . . , a n ) ) , f ( ( b 1 , b 2 , . . . , b n ) ) ⟩ = ⟨ a 1 e 1 + . . . + a n e n , b 1 e 1 + b 2 e 2 + . . . + b n e n ⟩ = ∑ i = 1 n a i ⟨ e i , b 1 e 1 + b 2 e 2 + . . . + b n e n ⟩ = ∑ j = 1 n ∑ i = 1 n a i b j ⟨ e i , e j ⟩ = a 1 b 1 + . . . + a n b n = ⟨ ( a 1 , b 1 , . . . , b n ) , ( b 1 , b 2 , . . . , b n ) ⟩ \begin{aligned} \langle f((a_1, a_2, ..., a_n)), f((b_1, b_2, ..., b_n))\rangle \\\\ = \langle a_1e_1+...+a_ne_n, b_1e_1+b_2e_2+...+b_ne_n\rangle \\\\ = \sum_{i=1}^{n}a_i\langle e_i, b_1e_1+b_2e_2+...+b_ne_n \rangle \\\\ = \sum_{j=1}^{n}\sum_{i=1}^{n} a_ib_j\langle e_i, e_j\rangle = a_1b_1 + ... + a_nb_n\\\\ = \langle (a_1, b_1, ..., b_n), (b_1, b_2, ..., b_n) \rangle \end{aligned} ⟨f((a1,a2,...,an)),f((b1,b2,...,bn))⟩=⟨a1e1+...+anen,b1e1+b2e2+...+bnen⟩=i=1∑nai⟨ei,b1e1+b2e2+...+bnen⟩=j=1∑ni=1∑naibj⟨ei,ej⟩=a1b1+...+anbn=⟨(a1,b1,...,bn),(b1,b2,...,bn)⟩
由此可证, f : E → W f:E\to W f:E→W为线性同构,因此, W W W与 E E E线性同构。