正交性
参考教程 麻省理工公开课 线性代数open in new window P14~P17
正交性的定义 Orthogonal
向量的正交性
对于向量 u,v, 当两个向量满足
uT⋅v=0
则称向量 u 与 v 正交
显然
- 零向量 0 与任何其他向量正交
- 向量 u,v 均来自向量空间 Rn
向量空间的正交性
有向量空间 S,T, 其均为 Rn 的子空间
当任意一个来自 S 的向量与任意一个来自 T 的向量都满足正交性时
则称向量空间 S 与 T 正交
显然
- 当向量空间 S,T 正交时 S∩T=0
基本子空间的正交性
行空间与零空间正交性证明
对于 m×n 的矩阵 A, 其行空间 C(AT) 与零空间 N(A) 均为向量空间 Rn 的子空间
根据零空间的定义可得, 对于任意一个来自零空间 N(A) 的向量 x 有
Axr1Tr2T⋮rmTx=0=00⋮0
将 A 视为一个由行向量 riT 组成的向量, x 视为一个 n×1 的矩阵, 则该等式表明, A 中的每一行均与 x 正交
由于行空间 C(AT) 的一组基来自 A 的主元行, 因此上式也表明 x 与行空间的一组基 ak 正交, 有 xTak=0
因此对于来自行空间的任意向量 a 有
xTa=xT(c1a1+c2a2+⋯+crar)=0
因此对于来自同一矩阵 A 的行空间与零空间具有正交性
同理可得, 来自同一矩阵 A 的列空间与左零空间具有正交性
正交补
注意到, 行空间的维数 dim[C(AT)]=r, 零空间的维数 dim[N(A)]=n−r, 这两个空间均为 Rn 的子空间
由于行空间与零空间正交, 因此行空间与零空间分别完全占据了 Rn 的两个维度
零空间不仅仅与行空间正交, 而且零空间是与行空间正交的, 维数最大的向量空间
以此定义, 零空间为行空间的正交补
同理, 左零空间为列空间的正交补
由此可得, 对于任意向量 x∈Rn, 必定可以分解为 x=a+b, 其中 a∈C(AT),b∈N(A)
x∈Rm 同理
投影矩阵
向量投影
以二维空间举例, 现有二维空间中的向量 a,b
以 a 为基底构成以一个向量空间 C(a), 这个空间在二维平面中即一条过原点的直线
在 C(a) 中一定有一个向量 p=xa, 使 b 与 p 距离最近
以此定义 b 在 a 上的投影为 p
显然直线 BP 为 C(a) 的一条垂线, 向量 e=b−p 与向量 a 正交, 因此
aT(b−p)xaTaxp=0=aTb=aTaaTb=aaTaaTb
根据 p 的表达式可知
- 即使 a 乘上任意倍数, 投影 p 不变
- 当 b 乘上 k 倍, 则投影 p 也将乘上 k 倍
向量投影矩阵
在投影向量的推导中, aTa 得到一个数, 而 aaT 得到一个方阵
pp=aTaaaTb=Pb
因此可将获得 b 在 C(a) 上的投影运算使用 b 与投影矩阵 P 的相乘表示
向量投影矩阵的性质
- 投影矩阵来自两个向量相乘, 因此投影矩阵为一个秩一矩阵, 有 r=1
- 将向量 a 视为矩阵, 则可以知道, 投影矩阵为一个对称矩阵, 有 P=PT
- 当 b 投影到 p, 显然向量空间 C(a) 上离 p 最近的点即 p 自身
因此可以推出投影矩阵满足 P2=P
一般投影
在 Rn 空间中有
向量 b, 在 Rn 空间中体现为一条直线
向量空间 C(A) 在 Rn 空间中体现为一个多维平面
在 C(A) 中一定有一个向量 p=Ax, 使 b 与 p 距离最近
以此定义 b 在向量空间 C(A) 上的投影为 p
(注意向量 x 为线性组合得到 p 的系数, 因此 x 反映了 b 投影到 C(A) 各个方向的分量)
显然误差向量 e=b−p 与向量空间 C(A) 中的任意向量正交 (直线 BP 垂直于多维平面 C(A))
根据正交补的概念可得, e 必定属于 C(A) 的正交补 N(AT)
根据左零空间 N(AT) 的性质可得 e 满足
ATeAT(b−Ax)ATAxxp=0=0=ATb=(ATA)−1ATb=A(ATA)−1ATb
其中
- p=A(ATA)−1ATb=Pb 可计算向量 b 在列空间 C(A) 上的投影
- x=(ATA)−1ATb 可计算 Pb 关于矩阵 A 各列的分量
(实际上, 如果 b 在向量空间 C(A) 中时, 仅需求解线性方程组 Ax=b 即可得到 b 相对 C(A) 各列的分量 x, 并不需要投影)
一般投影矩阵
根据高维投影向量 p 的推导可得, 一般情况下的投影矩阵满足
P=A(ATA)−1AT
对于一般投影矩阵可以得到以下性质
- 由于 A 不一定是可逆矩阵, 因此其中的 (ATA)−1 不能消去
但当 A 为可逆矩阵时, 有 P=I, 表明 b 在 Rn 的投影即 b 自身 - 投影矩阵 P 为对称矩阵
- 投影矩阵 P 满足 P2=P
注意
- 矩阵 A 的各列必须线性无关, 即矩阵应当列满秩 m=r
- 当 A 为可逆矩阵时, 必定有 P=I (证明略)
- 当 A 为不可逆矩阵, 则应取其中的主元列计算 P, 而不能直接使用公式
投影矩阵的实际意义
假设 b 垂直于空间 C(A) (b 与 C(A) 中的每个向量正交), 因此 b∈N(AT), ATb=0
此时 Pb=A(ATA)−1ATb=A(ATA)−10=0
因此 Pb=0, b 在 C(A) 中不存在任何分量
假设 b 在空间 C(A) 内 , 因此存在 x 满足 Ax=b
此时 Pb=A(ATA)−1ATb=A(ATA)−1ATAx=b
因此 Pb=b, b 的分量均来自 A
有上可得, 投影矩阵 P 的本质为去除所有垂直于 C(A) 的分量, 并保留平行于 C(A) 的分量
由此也可知, 来自 A 的投影矩阵的列空间 C(P) 与 A 的列空间 C(A) 相同
由于误差向量满足 e=b−p, 通过运算, 接受了所有投影到 C(A) 过程中被剔除的向量
如图所示, 显然 e 也为一个投影, 是 b 在 C(A) 的正交补 N(AT) 上的投影
因此 e=P′b=(I−P)b 中 P′=(I−P) 是一个投影到空间 N(AT) 的投影矩阵
同样满足一般投影矩阵的性质 (I−P)2=(I−P) 与 (I−P)T=(I−P)T
最小二乘法与正规方程
正规方程
对于线性方程组 Ax=b, 其中 A 为 m×n 的矩阵
按行来看, 其表明了系统在条件 ai1,ai2,…,ain 下有测量值 bi
向量 x 则为系统的参数
以线性系统为例, 对于自变量 t, 系统满足 f(t)=x2t+x1
因此此时条件为 ai2=t, ai1=1 (条件之间可能有关或完全无关)
由于 bi 或 A 存在误差, 一般无法通过直接求解方程得到 x (假设测量大于未知参数, m>n)
因此退而求其次, 寻找一个最优解 x^
显然, 这个最有解 Ax^=p 对于各个测量值 b 存在误差 e=b−p
要求最优解能够使误差的平方和 e2=(b−Ax^)2 最小 (也称为最小二乘)
按列来看, 各个同类的参数分别构成了 A 的各列, 并生成 Rm 下的子空间 C(A)
可以发现, 待求的 p 即 b 在 C(A) 投影
因此
p=Ax^Ax^ATAx^=Pb=A(ATA)−1ATb=ATb
由此也可得, 对于 m>n, 即方程数大于未知数的无解线性方程, 通过两侧乘上 AT, 即可得到误差平方和最小的最优解 x^
也将方程 ATAx^=ATb 称为正规方程
通过对 f(x)=(b−Ax^)2 分别对 xi 求偏导并令偏导为 0 可得到相同的结果
最小二乘法举例
现有系统 f(t), 经测量有 f(1)=1,f(2)=2,f(3)=2
假设 f(t)=x1+x2t 求 x2,x1
根据题目条件可得 x2,x1 满足线性方程
111123[x1x2]=122
显然方程无解, 设系数矩阵 A, 测量向量 b, 使用最小二乘法求出最优解 x^ 有
AT[Ab]=[112131]111123122=[36614511]→x^=[2/31/2]
因此 f^(x)=21t+32
关于投影矩阵的补充说明
注意到, 无论是最小二乘法, 还是投影矩阵 P 的导出中, 都要求方阵 ATA 为可逆矩阵
由矩阵与其转置之积的秩可得, 为了满足此条件, 要求 A 的各列线性无关, 仅有在此条件下 ATA 可逆, 存在投影矩阵 P
标准正交 Othonormal
标准正交基
对于一系列属于 Rm 空间的向量 {q} 满足
{qiT⋅qj=0,qiT⋅qj=1,i=ji=j
第一行的条件表明, qi 与组内的其他向量正交
第二行的条件表明, qi 的长度为 1
则称 {q} 为一组标准正交基
标准正交矩阵
以标准正交基为列, 可得到一个 m×n 的矩阵 Q=[q1q2…qn]
根据标准正交基的性质可得
QTQ=q1Tq2T…qnT[q1q2…qn]=In×n
特别地, 当 n=m, Q 为一个方阵, 此时称 Q 为标准正交矩阵, 简称正交矩阵
可得, 标准正交矩阵有性质: 标准正交矩阵为可逆矩阵且 QT=Q−1
对标准正交基的投影
对于以标准正交基为列的 m×n 矩阵 Q (注意 Q 可能是长方形矩阵, 不存在 Q−1, 且没有性质 QQT=I), 其有投影矩阵
P=Q(QTQ)−1QT=Q(I)−1QT=QQT
而在正规方程中
QTQxx=QTb=QTb
因此仅需计算 QTb, 即可得到 b 在标准正交基 {q} 上的分量 x
Gram-Schmidt 正交化
现有矩阵 A=[a1a2…an], 通过 Gram-Schmidt 正交化, 可得到一组标准正交基组成的矩阵 Q=[q1q2…qn]
同时两个矩阵 C(A)=C(Q) 具有相同的列空间
假定 A 列满秩, 其各列 ai 即子空间 C(A) 的一组基
正交化过程
首先对向量集 {a} 进行逐个正交化, 得到相互正交且标准的向量集 {h}, 然后将 {h} 标准化, 得到待求的标准正交基 {q}
- 为了保证 hi 与其余向量正交, 可以令 hi 与 h1,…,hi−1 正交
- 为了保证 C(A)=C(H), 可以令 hi 来自 a1,…,ai 的线性组合, 注意该条件也等价于 hi 来自 q1,…,qi−1 与 ai 的线性组合
对于取出的第一个向量 a1
由于此时 {h} 中没有其他向量, 因此 h1=a1
对于取出的第二个向量 a2
根据向量投影的特点可以发现, 在获取误差向量 e 的过程中, 误差向量 e 即满足 h2 的两个要求 (首先计算 h1Ta2 得到一个数, 使矢量相乘变为数乘, 从而交换向量 h 到右侧)
h2=e=a2−h1Th1h1h1Ta2=a2−h1Th1h1Ta2h1
对于取出的第 k 个向量 ak
根据一般投影的特点可以发现, 在获取误差向量 e 的过程中, 误差向量满足 e 即满足 hi 的两个要求
令 H=[h1h2…hk−1], 根据 h 的正交性, HTH 将得到一个对角矩阵, 根据对角矩阵与矩阵乘法中的叠加法可得
hk=e=ak−H(HTH)−1HTak=ak−i=1∑k−1hiThihiTakhi
最后将计算得到的 {h} 标准化, 即对每个 hk 有
qk=hkThkh
正交化举例
对于一组来自 A 各列的基, 求空间 C(A) 的一组标准正交基, 其中 A 满足
A=112211121
对于第一列向量有 h1=a1
对于第二列向量 a2 有
h2=a2−h1Th1h1Ta2h1=211−65112=6171−4
对于第三列向量 a3 有 (注意到 h2 的提出数乘部分对结果没有影响)
h3=a3−h1Th1h1Ta3h1−h2Th2h2Ta3h2=121−65112−⋅66571−4=114−13−1
因此经标准化后, 有由正交基组成的矩阵 Q 满足
Q=61616266766166−411−111311−1
QR 分解
类似 LU 分解, 使用矩阵的方式描述 Gram-Schmidt 正交化可得, 正交化的本质即将原矩阵 A 分解为一个标准正交基组成的矩阵 Q (注意 A 不一定是方阵) 与一个变形矩阵 R
因此也称为 QR 分解, 有
A=QR
根据 Gram-Schmidt 正交化的公式可知, 简单变形后也可视为 ak 来自 h1…hk 的线性组合, 将系数提取即可组成矩阵 R 的各列
因此对于 m×n 的矩阵 A, R 为一个 n×n 的上三角矩阵满足
R=∣h1∣00⋮00q1Ta2∣h2∣000q1Ta3q2Ta3∣h3∣00………∣hn−1∣0q1Tanq2Tanq3Tan⋮qn−1Tan∣hn∣
除此之外, 根据以标准正交基构成的矩阵的特点可得
QTA=QTQR=R