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

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

矩阵 A A 是列满秩矩阵时,高斯消元法可以求得方程 A x = b A\mathbf{x}=\mathbf{b} 的解,但该方法有个致命缺点,往往没有解!根据前章结论:列满秩矩阵 A m n A_{mn} ,高斯消元法变换为 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] L m m L_{mm} m m 阶单位下三角阵。

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

假设要测量圆的直径 D D ,测量了 m m 次,每次测量值为 d i d_i 。据此可以列出方程
D = d i , i [ 1 , m ] D = d_i,i \in [ 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]

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

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

假设车辆做匀加速直线运动 s = s 0 + v 0 t + 1 / 2 a t 2 s = s_0 + v_0t + 1/2at^2 ,我们需要获得加速度,可以测量不同时刻的位移 ( t i , s i ) (t_i, s_i) ,即 t i t_i 时刻的速度为 s i s_i ,测量了 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]

写成矩阵形式为

[ 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]

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] b = [ s 1 s 2 s m ] \mathbf{b}=\left[ \begin{matrix} s_1 \\ s_2 \\ \vdots \\ s_m \end{matrix} \right] x = [ s 0 v 0 1 / 2 a ] \mathbf{x} = \left[ \begin{matrix} s_0 \\v_0 \\ 1/2a \end{matrix} \right] A x = b A\mathbf{x} = \mathbf{b}

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

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

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

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

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

A x ^ = b p A\mathbf{\hat{x}} = \mathbf{b}_p 代入上式,得 A T ( b A x ^ ) = 0 A^T(\mathbf{b}-A\mathbf{\hat{x}}) = \mathbf{0}
A T A x ^ = A T b A^TA\mathbf{\hat{x}} = A^T\mathbf{b}

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

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

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

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

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

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

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

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}

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

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

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

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

猜你喜欢

转载自blog.csdn.net/jhshanvip/article/details/105805354
5.1