咱们继续说最小二乘的故事,因为Strang把这些东西以一种非常直观的形式串联起来,使我迫不及待地想写一些心得
在上回,我们得到了一个十分重要的东西,投影矩阵:
p = A(A'A)-1A'
我们依然以在(一)中的那张投影图为例,b在平面上的投影是p,如果b垂直于C(A),那么b就在A的左零空间里,即Pb = 0。如果b本身就在A的列空间里,那么有Ax = b和Pb = b。我们简要推导下上面的过程:
1)对于b垂直于C(A):
因为N(A')垂直于C(A),所以b在N(A'),Pb = A(A'A)-1A'b = 0(红色的部分为0)
2)对于b在C(A)里:
b = Ax, Pb = A(A'A)-1A'Ax = Ax = b
然而,我们要解决的是更一般的情况:b 不属于上述任何两种情况之一,也就是b在C(A)(记为p)里和N(A')(记为e)的投影不是它本身,我们有:
p + e = b。而通过之前介绍的关于投影的知识,我们可以得到p = Pb,所以有:
Pb + e = bI,e = (I - P)b。
我们再次回到(一)的结尾的那个例子:
写成矩阵形式Ax = b: *
我们可以从两方面来看待*式的意义:
1)我们寻求这样一条直线,这三个点这条直线的垂直距离分别为e1, e2, e3.我们要寻求的直线使得e1, e2, e3的平方和最小,这就是线性回归问题;
2)我们把b看成是R3空间里的一个向量,它在A的列空间的投影是p,在N(A')的投影是e,我们现在的任务就是寻求一个x hat和p,使得满足:
这就是我们在(一)中所说的投影矩阵的问题,它擅长于处理Ax = b无解的情况
将A展开代入,得到正则方程:
解这个方程是很简单的,最后我们得到直线的方程:
我们把给定值,拟合值,误差统计一下,列出下面这个表:
我们注意到这里p与e垂直,实际上e垂直于C(A)。
这是很显然的,因为在这一部分的开头我们就作了解释:e在N(A')里,由于N(A')垂直于C(A),所以e垂直于C(A)。
最小二乘讲到这里似乎已经说完了,但是有一个问题,那就是我们所利用的投影矩阵p = A(A'A)-1A'这里我们假定A'A是可逆的,这种假定合理吗?Strang在最后给我们作了解答:
If A has independent columns, then A'A is invertible .
他是这样证明这个问题的:并没有直接证明,而是通过证明若A'Ax = 0, 则x = 0来间接证明A'A可逆。
好了,我们现有假设有A'Ax = 0,并且我们使用了一个小技巧(TRICK):
x'A'Ax = x'0
(Ax)'Ax = 0
Ax = 0,由于A的列向量相互独立,因为由Ax = 0我们得到x只能是0,这样就把这个问题解决了。
当然,这里还要提到一个关系:标准正交(orthonormal)。如果一个矩阵的列向量是标准正交向量组,那么A的列向量一定线性无关。
写到这里,我想有必要总结一下,为什么最小二乘和投影矩阵要扯到一起,它们有什么联系:
最小二乘是用于数据拟合的一个很霸气的方法,这个拟合的过程我们称之为线性回归。如果数据点不存在离群点(outliers),那么该方法总是会显示其简单粗暴的一面。我们可以把最小二乘的过程用矩阵的形式描述出来,然而,精妙之处就在于,这与我们的投影矩阵的故事不谋而合,所以,我们又可以借助于投影矩阵的公式,也就是
A'Ax = A'b来加以解决。
当然,话虽如此,但是这个故事还没完,欲知后事如何,请看下回分解
参考:http://blog.csdn.net/a130098300/article/details/7663850