上面这个图解释了四个基本空间之间的正交关系:
- 行空间和列空间的秩都等于 r r r
- 行空间和列空间都正交其转置的零空间
- 行空间和列空间的维数+对应转置的零空间维数=总行数或者列数
谈到正交向量,我们经常会聊到另一个概念:垂直(Perpendicular),在直角三角形中,有一个著名的定理:毕达哥拉斯定理(Pythagoras):两边平方和等于第三边平方和。 对于直角三角形有:
∣
∣
X
∣
∣
2
+
∣
∣
Y
∣
∣
2
=
∣
∣
X
+
Y
∣
∣
2
X
T
X
+
Y
T
Y
=
(
X
+
Y
)
T
(
X
+
Y
)
X
T
X
+
Y
T
Y
=
(
X
T
+
Y
T
)
(
X
+
Y
)
X
T
Y
+
Y
T
X
=
0
X
T
Y
=
0
(1)
\begin{aligned} \vert \vert X \vert \vert^2+\vert \vert Y \vert \vert^2 &= \vert \vert X+Y \vert \vert^2 \\ X^TX+Y^TY &=(X+Y)^T(X+Y)\\ X^TX+Y^TY&=(X^T+Y^T)(X+Y)\\ X^TY+Y^TX&=0\\ X^TY&=0 \end{aligned}\tag{1}
∣∣X∣∣2+∣∣Y∣∣2XTX+YTYXTX+YTYXTY+YTXXTY=∣∣X+Y∣∣2=(X+Y)T(X+Y)=(XT+YT)(X+Y)=0=0(1) 注:线性代数中向量一般指的是列向量。
上面等式变换用到了几个已知事实:
- ( X + Y ) T = X T + Y T (X+Y)^T=X^T+Y^T (X+Y)T=XT+YT
- 对于一个列向量,写成矩阵形式有: ∣ ∣ X ∣ ∣ 2 = X T X \vert \vert X \vert \vert^2=X^TX ∣∣X∣∣2=XTX
- X T Y = Y T X X^TY=Y^TX XTY=YTX
( 1 ) (1) (1)告诉我们两个向量正交的条件是:点乘等于0。对于数学你只需要遵循规则,假如X是零向量,那么它与任意一个向量都是正交的,因为零向量与任何向量相乘都会等于0,所以零向量与任何向量都正交。
如果 a a a和 b b b相互正交,则: a T b = 0 a^Tb=0 aTb=0和 b T a = 0 b^Ta=0 bTa=0都成立,转置是为了让列向量完成点积运算。
二、子空间正交性子空间 S S S与子空间 T T T正交的含义:对于 S S S中的任意向量均与 T T T中的向量正交。
课上老师还举了一个例子:黑板与地板是否为的两个平面子空间是否是正交?答案是否定的。因为随便找一个黑板面上与交线呈45度的向量,无论你怎么找地板上都不能找到对应的正交向量,这不满足正交子空间定义,所以这两子空间不正交。或者你直接举交线作为反例,这个交线处向量既属于黑板又属于地板,但是他们直角是平行关系,不符合正交含义(这也就告诉我们两个相交平面一定不是正交的)
2.1 R 2 R^2 R2及其子空间正交性讨论那么平面上有哪些子空间是满足正交性要求的呢? R 2 R^2 R2空间中,子空间有:
- 零向量 0 0 0
- 过原点的直线 L L L
- 整个平面空间 D D D
- 零空间与 L L L何时正交? 答:始终正交
- L L L和 D D D何时正交?答:永远不正交,因为线在平面内。
- L L L和另一个 L L L何时正交?答:满足原点处垂直可能正交。
结论1: C ( A T ) C(A^T) C(AT)行空间与 N ( A ) N(A) N(A)零空间正交。
解释: A X = 0 AX=0 AX=0中看成以下行向量与零空间 X X X的乘积: [ r o w 1 r o w 2 r o w 3 ] X = [ 0 0 0 ] \begin{bmatrix} row1\\ row2\\ row3 \end{bmatrix}X=\begin{bmatrix} 0\\0\\0 \end{bmatrix} ⎣ ⎡row1row2row3⎦ ⎤X=⎣ ⎡000⎦ ⎤ 可以看出,系数矩阵行向量与零空间(也是一个向量)的乘积始终为0,意味着行空间中与所有零空间中的向量都是正交的,行空间除了行向量外,还需要包含行向量的系数组合,显然容易得到他们的线性组合也是正交的,这也就给出了一开始的结论:行空间与零空间是正交的。
在本文的最开始的图片可以看出,左侧将 R n R^n Rn空间分为两部分: n − r n-r n−r和 r r r维,右侧将 R m R^m Rm空间分为 m − r m-r m−r和 r r r,他们都把各自的空间分割得恰到好处,使得两者的和恰好等于行数、或者维数。
在三维空间 R 3 R^3 R3中,是否行空间是一条直线,零空间也是一条直线,答案是否定的,原因如下:他们的维数不能恰好分割我们的 R 3 R^3 R3空间。举个具体的例子: A = [ 1 2 5 2 4 10 ] A=\begin{bmatrix} 1&2&5\\2&4&10 \end{bmatrix} A=[1224510] 在这里 n = 3 n=3 n=3 r = 1 r=1 r=1 d i m ( N ( A ) ) = 2 dim(N(A))=2 dim(N(A))=2。在这里,行空间是一条直线,但是对应的零空间维数一定是 2 2 2,所以不可能出现一开始那种行空间和零空间都是直线的情况。
总结:零空间和行空间是正交的,他们的维数是互补的。
三、无解方程的最优解前面我们已经讨论过方程 A x = b Ax=b Ax=b解的情况,不是所有方程都有解。现实生活中有很多情况是属于无解的情况, 我们需要解这些“无解”的方程以继续我们的研究。
听上去有点滑稽,这个方程是无解的,为什么我们要去“解”它呢?两个理由:
- 现实中广泛存在
- 虽然无解,但是有最优解
当一个卫星经过,你要测量出它的位置,你做了一千次测量,也就是有对应的一千个方程,事实上确定他的参数不需要这么多方程;再如,进行体检中脉搏频率测量,事实上只需要进行一次测量即可,有些数据是不那么可靠的,为了更加准确,我们会进行多测测量。
测量次数的增加将会增加方程组个数,同时增加 b b b出错的可能性,这个出错或者说误差较大的方程,将会使得整个方程无解,最重要的是我们没有办法直接zhai出这些“坏”数据,但是我们可以利用线性代数只是,求出其最优解。
下面不加证明的给出以下方法求取最优解: A x = b (2) Ax=b\tag{2} Ax=b(2) 两边同时乘以 A T A^T AT有: A T A x ^ = A T b (3) A^TA\hat x=A^Tb\tag{3} ATAx^=ATb(3) 因为新的方程的系数和结果向量都发生改变,为了区分,用 x ^ \hat x x^表示,这个 x ^ \hat x x^就是最优解。
关于 A T A A^TA ATA的几点说明:
- A T A A^TA ATA是一个对称矩阵,见定义
- A T A A^TA ATA不一定是可逆的
为了继续求解最优解,我们需要这个 A T A A^TA ATA是可逆的。为了继续说明,假设 A T A A^TA ATA是可逆的,如: [ 1 1 1 2 1 5 ] [ x 1 x 2 ] = [ b 1 b 2 b 3 ] (4) \begin{bmatrix} 1&1\\1&2\\1&5 \end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}\tag{4} ⎣ ⎡111125⎦ ⎤[x1x2]=⎣ ⎡b1b2b3⎦ ⎤(4) 虽然线性代数非常牛,但是对于这种三个方程只有两个未知数的,如果 b 3 b_3 b3不为0,仍然不能求得它的解。
可以通过(3)式使得方程继续求解: [ 1 1 1 1 2 5 ] [ 1 1 1 2 1 5 ] = [ 3 8 8 30 ] (5) \begin{bmatrix} 1&1&1\\1&2&5 \end{bmatrix}\begin{bmatrix} 1&1\\1&2\\1&5 \end{bmatrix}=\begin{bmatrix} 3&8\\8&30 \end{bmatrix}\tag{5} [111215]⎣ ⎡111125⎦ ⎤=[38830](5)
不是所有的 A T A A^TA ATA都是可逆的,如: [ 1 1 1 3 3 3 ] [ 1 3 1 3 1 3 ] = [ 3 9 9 27 ] (6) \begin{bmatrix} 1&1&1\\3&3&3 \end{bmatrix}\begin{bmatrix} 1&3\\1&3\\1&3 \end{bmatrix}=\begin{bmatrix} 3&9\\9&27 \end{bmatrix}\tag{6} [131313]⎣ ⎡111333⎦ ⎤=[39927](6) (6)就是一个不可逆的矩阵,理由:两个秩为1的矩阵相乘不可能得到一个秩大于1的矩阵。
不加证明给出以下结论: N ( A T A ) = N ( A ) r a n k ( A T A ) = r a n k ( A ) (7) N(A^TA)=N(A)\\ rank (A^TA)=rank(A) \tag{7} N(ATA)=N(A)rank(ATA)=rank(A)(7) A T A A^TA ATA只有当 A A A的列线性无关时成立,下节课将会证明。