数值计算之 最小二乘法(2)最小二乘的几何意义
前言
上篇中,超定线性方程组 A x = b Ax=b Ax=b的最小二乘解满足 A T A x = A T b A^TAx=A^Tb ATAx=ATb,当 A A A是列满秩矩阵时, x = ( A T A ) − 1 A T b x=(A^TA)^{-1}A^Tb x=(ATA)−1ATb。
线性最小二乘解的存在性
首先要确定的是:对于任何超定的线性方程组 A x = b Ax=b Ax=b,都是有最小二乘解的。
证明:
A
T
A
x
=
A
T
b
r
a
n
k
(
A
T
A
,
A
T
b
)
=
r
a
n
k
(
A
T
(
A
,
b
)
)
≤
r
a
n
k
(
A
T
)
r
a
n
k
(
A
T
A
,
A
T
b
)
≥
r
a
n
k
(
A
T
A
)
=
r
a
n
k
(
A
T
)
∴
r
a
n
k
(
A
T
A
,
A
T
b
)
=
r
a
n
k
(
A
T
A
)
A^TAx=A^Tb \\ rank(A^TA,A^Tb)=rank(A^T(A,b))\le rank(A^T) \\ rank(A^TA,A^Tb)\ge rank(A^TA)=rank(A^T) \\ \therefore rank(A^TA,A^Tb)=rank(A^TA)
ATAx=ATbrank(ATA,ATb)=rank(AT(A,b))≤rank(AT)rank(ATA,ATb)≥rank(ATA)=rank(AT)∴rank(ATA,ATb)=rank(ATA)
根据线性方程组的解与秩的关系得证。
最小二乘解的几何意义
回到上一篇提到的的超定方程组
A
x
=
b
Ax=b
Ax=b:
{
x
1
+
x
2
=
0
x
1
+
2
x
2
=
2
2
x
1
+
3
x
2
=
3
\begin{cases} x_1+x_2=0 \\ x_1+2x_2=2 \\ 2x_1+3x_2=3 \\ \end{cases}
⎩⎪⎨⎪⎧x1+x2=0x1+2x2=22x1+3x2=3
由于
2
=
r
(
A
)
<
r
(
A
,
b
)
=
3
2=r(A)<r(A,b)=3
2=r(A)<r(A,b)=3,因此它是无解析解的。
之前矩阵乘法的博客中提到过,矩阵与向量的乘法,本质上是矩阵列向量组的线性组合,而向量的每个元素都是系数。因此, ( 1 , 1 , 2 ) T , ( 1 , 2 , 3 ) T (1,1,2)^T,(1,2,3)^T (1,1,2)T,(1,2,3)T这两个列向量将张成一个二维列空间 S S S,而向量 ( 0 , 2 , 3 ) T (0,2,3)^T (0,2,3)T不在这个空间上。
如下图所示,虽然 b b b不在矩阵 A A A的列空间 S S S上,也就是说找不到一组系数 x x x使得 A x = b Ax=b Ax=b,但是可以在列空间 S S S上找到一个向量 b ^ \hat b b^并且满足线性组合 A x ^ = b ^ A\hat x=\hat b Ax^=b^,使得向量 b − b ^ b-\hat b b−b^的长度最小。这个线性组合的系数 x ^ \hat x x^就是最小二乘解。从图中可以看出,当 b − b ^ b-\hat b b−b^垂直于 S S S时,将得到最小二乘解。
因此得到了最小二乘解的几何意义:线性方程组 A x = b Ax=b Ax=b的最小二乘法,实际上就是在矩阵的列空间上寻找一个向量 b ^ \hat b b^,使得 b − b ^ b-\hat b b−b^的模最小。向量 b ^ \hat b b^,就是 b b b在 A A A的列空间上的投影。最小二乘解 x ^ \hat x x^满足 A x ^ = b ^ A\hat x=\hat b Ax^=b^。
比较有趣的现象是,如果 b b b与 A A A的列空间垂直,那么最小二乘解就是n维 0 0 0向量。
从最小二乘的几何意义也可知,超定线性方程组的最小二乘解是必然存在的。