5.1 最小二乘法,左逆,投影矩阵

最小二乘法,左逆,投影矩阵

矩阵 A A A 是列满秩矩阵时,高斯消元法可以求得方程 A x = b A\mathbf{x}=\mathbf{b} Ax=b 的解,但该方法有个致命缺点,往往没有解!根据前章结论:列满秩矩阵 A m n A_{mn} Amn,高斯消元法变换为 L m m A = [ U n n O m − n , n ] L_{mm}A = \left[ \begin{matrix} U_{nn} \\ \mathbf{O}_{m-n,n} \end{matrix} \right] LmmA=[UnnOmn,n] L m m L_{mm} Lmm m m m 阶单位下三角阵。

对向量 b \mathbf{b} b ,如果 L m m b = [ b ′ 0 ] L_{mm}\mathbf{b}=\left[ \begin{matrix} \mathbf{b'} \\ \mathbf{0} \end{matrix} \right] Lmmb=[b0] ,即后 m − n m-n mn 个分量都为 0 0 0 ,则方程 A m n x = b A_{mn}\mathbf{x}=\mathbf{b} Amnx=b 有唯一解;只要后 m − n m-n mn 个分量有一个不为 0 0 0 ,或者很接近 0 0 0 ,则方程无解。方程要保证后 m − n m-n mn 个分量都为 0 0 0 ,几乎不可能,所以方程往往无解。实际中,又需要找到方程最优近似解即最小二乘解。我们举个例子,更容易理解。

假设要测量圆的直径 D D D ,测量了 m m m 次,每次测量值为 d i d_i di 。据此可以列出方程
D = d i , i ∈ [ 1 , m ] D = d_i,i \in [ 1,m] D=di,i[1,m]

写成矩阵形式为

[ 1 1 ⋮ 1 ] D = [ d 1 d 2 ⋮ d m ] \left[ \begin{matrix} 1 \\ 1 \\ \vdots \\ 1 \end{matrix} \right] D = \left[ \begin{matrix} d_1 \\ d_2 \\ \vdots \\ d_m \end{matrix} \right] 111D=d1d2dm

A = [ 1 1 ⋮ 1 ] A=\left[ \begin{matrix} 1 \\ 1 \\ \vdots \\ 1 \end{matrix} \right] A=111 b = [ d 1 d 2 ⋮ d m ] \mathbf{b}=\left[ \begin{matrix} d_1 \\ d_2 \\ \vdots \\ d_m \end{matrix} \right] b=d1d2dm

对增广矩阵进行高斯消元,可以发现只要 d i d_i di 不是完全一样,则方程无解!如果 d i d_i di 完全一样,则解存在且唯一 D = d i D = d_i D=di ,但由于 d i d_i di 完全一样,则只相当测量了一次。实际测量中,由于无处不在的误差,测量值即使很接近,但不可能完全一致,故方程无解。常识又告诉我们,应该多次测量取平均值作为直径的最优估计值,即 D = ∑ i d i / m D = \sum_i d_i /m D=idi/m

假设车辆做匀加速直线运动 s = s 0 + v 0 t + 1 / 2 a t 2 s = s_0 + v_0t + 1/2at^2 s=s0+v0t+1/2at2 ,我们需要获得加速度,可以测量不同时刻的位移 ( t i , s i ) (t_i, s_i) (ti,si) ,即 t i t_i ti 时刻的速度为 s i s_i si ,测量了 m m m 个数据,则得到方程

s 0 + v 0 t + 1 / 2 a t i 2 = s i , i ∈ [ 1 , m ] s_0 + v_0t + 1/2at^2_i = s_i ,i \in [ 1,m] s0+v0t+1/2ati2=si,i[1,m]

写成矩阵形式为

[ 1 1 ⋮ 1 ] s 0 + [ t 1 t 2 ⋮ t m ] v 0 + [ t 1 2 t 2 2 ⋮ t m 2 ] 1 / 2 a = [ s 1 s 2 ⋮ s m ] \left[ \begin{matrix} 1 \\ 1 \\ \vdots \\ 1 \end{matrix} \right] s_0 + \left[ \begin{matrix} t_1 \\ t_2 \\ \vdots \\ t_m \end{matrix} \right] v_0+ \left[ \begin{matrix} t^2_1 \\ t^2_2 \\ \vdots \\ t^2_m \end{matrix} \right] 1/2a= \left[ \begin{matrix} s_1 \\ s_2 \\ \vdots \\ s_m \end{matrix} \right] 111s0+t1t2tmv0+t12t22tm21/2a=s1s2sm

A = [ 1 t 1 t 1 2 1 t 2 t 2 2 ⋮ 1 t m t m 2 ] A=\left[ \begin{matrix} 1 & t_1& t^2_1\\ 1 & t_2& t^2_2 \\ \vdots \\ 1 & t_m& t^2_m \end{matrix} \right] A=111t1t2tmt12t22tm2 b = [ s 1 s 2 ⋮ s m ] \mathbf{b}=\left[ \begin{matrix} s_1 \\ s_2 \\ \vdots \\ s_m \end{matrix} \right] b=s1s2sm x = [ s 0 v 0 1 / 2 a ] \mathbf{x} = \left[ \begin{matrix} s_0 \\v_0 \\ 1/2a \end{matrix} \right] x=s0v01/2a A x = b A\mathbf{x} = \mathbf{b} Ax=b

对增广矩阵进行高斯消元,实际测量中,由于无处不在的误差,只有进行三次测量,方程才存在解且唯一,测量超过三次,则无解!但常识又告诉我们,多次测量可以达到对测量误差取平均效果,精度会更高。

实际中有大量类似的例子,为了获得某些量的真实值,需要进行测量,然后根据测量值获得真实值的最优估计值。方程 A m n x n = b m A_{mn}\mathbf{x}_n=\mathbf{b}_m Amnxn=bm 表示共进行了 m m m 次测量,每次测量构成一个子方程。我们希望用第 i i i 次测量值 a r i \mathbf{a}_{ri} ari 线性拟合 b i b_{i} bi ,拟合系数为 x n \mathbf{x}_n xn ,拟合偏差尽可能小,所以也称为线性拟合或线性回归。每次测量值 ( a r i , b i ) (\mathbf{a}_{ri},b_i) (ari,bi) 也称为测量点或简称点。

由于测量误差,为了提高精度,需要多次测量,理论上是测量次数趋于无穷时,最优估计值无限接近真实值。根据方程理论,当测量次数多于需要估计的量时,由于测量误差,方程一般是矛盾方程,无解!怎么解决这个矛盾呢?伟大的最小二乘法就是解决这个问题的,由于测量误差,不应该寻找表面上的精确解,而是寻找最优近似解。

这章内容和第一章的投影密切相关,故希望读者熟悉投影。方程 A x = b A\mathbf{x} = \mathbf{b} Ax=b ,因为向量 b \mathbf{b} b 不位于矩阵 A A A 的列空间,所以不存在精确解。令向量 b \mathbf{b} b 向矩阵 A A A 列空间的投影向量为 b p \mathbf{b}_p bp ,则方程 A x = b p A\mathbf{x} = \mathbf{b}_p Ax=bp 有唯一精确解,这个精确解就是方程 A x = b A\mathbf{x} = \mathbf{b} Ax=b 最优近似解,为了区分,我们记最优近似解为 x ^ \mathbf{\hat{x}} x^。根据投影性质,向量 b − b p \mathbf{b}-\mathbf{b}_p bbp 是垂直于矩阵 A A A 列空间,所以垂直于矩阵 A A A 列向量组

A T ( b − b p ) = 0 A^T(\mathbf{b}-\mathbf{b}_p) = \mathbf{0} AT(bbp)=0

A x ^ = b p A\mathbf{\hat{x}} = \mathbf{b}_p Ax^=bp 代入上式,得 A T ( b − A x ^ ) = 0 A^T(\mathbf{b}-A\mathbf{\hat{x}}) = \mathbf{0} AT(bAx^)=0
A T A x ^ = A T b A^TA\mathbf{\hat{x}} = A^T\mathbf{b} ATAx^=ATb

因为 r a n k A T A = r a n k A = n rank A^TA = rank A = n rankATA=rankA=n A T A A^TA ATA n n n 阶方阵,故 A T A A^TA ATA 可逆,得到最优近似解,即最小二乘解

x ^ = ( A T A ) − 1 A T b \mathbf{\hat{x}} = (A^TA)^{-1}A^T\mathbf{b} x^=(ATA)1ATb

读者可以按该公式自行推导测量直径的例子,会发现最小二乘解就是测量的平均值。测量加速度的例子读者也可以自行推导,本书从略。

A L − 1 = ( A T A ) − 1 A T A^{-1}_L = (A^TA)^{-1}A^T AL1=(ATA)1AT ,可以发现 A L − 1 A = E n A^{-1}_LA=E_n AL1A=En ,称 A L − 1 A^{-1}_L AL1 A A A 的左逆,其尺寸为 n × m n \times m n×m

定义 左逆 对于列满秩矩阵 A m n A_{mn} Amn ,如果存在矩阵 B n m B_{nm} Bnm ,使 B A = E n BA=E_n BA=En 成立,则称 B B B A A A 的左逆, A L − 1 = ( A T A ) − 1 A T A^{-1}_L=(A^TA)^{-1}A^T AL1=(ATA)1AT 是其中一个左逆。

特别强调下,左逆不唯一,证明如下:假设 B n m B_{nm} Bnm 是任意矩阵,如果 ( A L − 1 + B ) A = E (A^{-1}_L+B)A=E (AL1+B)A=E 成立,则 ( A L − 1 + B ) (A^{-1}_L+B) (AL1+B) 是左逆,因为 A L − 1 A = E A^{-1}_LA=E AL1A=E ,则只需 B A = O BA=\mathbf{O} BA=O ,根据第三章内容,矩阵 A A A 行向量组是相关组,故矩阵 B B B 行向量组只要位于矩阵 A A A 左零空间,则 B A = O BA=\mathbf{O} BA=O ,故有无穷多左逆。如果不特别强调,我们称左逆,都是特指矩阵 A L − 1 = ( A T A ) − 1 A T A^{-1}_L=(A^TA)^{-1}A^T AL1=(ATA)1AT

代入 A x ^ = b p A\mathbf{\hat{x}} = \mathbf{b}_p Ax^=bp ,可以得到投影向量

b p = A ( A T A ) − 1 A T b = A A L − 1 b = P b \mathbf{b}_p = A(A^TA)^{-1}A^T\mathbf{b}=AA^{-1}_L\mathbf{b}=P\mathbf{b} bp=A(ATA)1ATb=AAL1b=Pb

矩阵 P = A A L − 1 = A ( A T A ) − 1 A T P = AA^{-1}_L=A(A^TA)^{-1}A^T P=AAL1=A(ATA)1AT 是投影矩阵,即对任意向量 b \mathbf{b} b ,向量 P b P\mathbf{b} Pb 是向量 b \mathbf{b} b 向矩阵 A A A 列空间的投影向量 b p \mathbf{b}_p bp,投影矩阵尺寸是 m × m m \times m m×m

投影矩阵是幂等矩阵,即满足 P 2 = P P^2=P P2=P ,读者可自行验证。其背后的几何意义更重要,对任意向量 b \mathbf{b} b b p = P b \mathbf{b}_p=P\mathbf{b} bp=Pb 是投影向量, 那么 P b p P\mathbf{b}_p Pbp 是什么呢?因为 b p \mathbf{b}_p bp 已经位于 矩阵 A A A 列空间,投影后还是位于列空间,故向量不变,所以 P b p = b p P\mathbf{b}_p=\mathbf{b}_p Pbp=bp ,则 P 2 b = P b P^2\mathbf{b}=P\mathbf{b} P2b=Pb 对任意向量 b \mathbf{b} b 均成立,故 P 2 = P P^2=P P2=P 。投影矩阵是对称矩阵 P T = P P^T=P PT=P

关于投影矩阵,有两点说明,第一投影矩阵不可逆,如果可逆, P 2 = P P^2=P P2=P 左乘逆矩阵,得 P = E P=E P=E ,投影矩阵一般都不是单位阵,当然单位阵是投影矩阵。第二投影矩阵唯一,证明如下:假设 B n m B_{nm} Bnm 是任意矩阵,如果 A ( A L − 1 + B ) = P A(A^{-1}_L+B)=P A(AL1+B)=P 是投影矩阵,则只需 A B = O AB=\mathbf{O} AB=O ,根据第三章内容,矩阵 A A A 列向量组是无关组,故矩阵 B B B 是零矩阵。

综上,列满秩矩阵 A A A ,左逆不唯一, E = A L − 1 A E = A^{-1}_LA E=AL1A A L − 1 A^{-1}_L AL1 是一个左逆;投影矩阵 P = A A L − 1 P = AA^{-1}_L P=AAL1 唯一,且 $ A^{-1}_LA \ne AA^{-1}_L$ 。与可逆矩阵对比, A − 1 A = A A − 1 A^{-1}A = AA^{-1} A1A=AA1 ,逆矩阵 A − 1 A^{-1} A1 唯一,它们差别很大。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值