转载自:https://blog.csdn.net/huang1024rui/article/details/69568991
上一讲中,我们知道了投影矩阵P=A(ATA)−1AT,Pb将会把向量投影在A的列空间中。即只要知道矩阵A的列空间,就能得到投影矩阵P。
1.投影矩阵(Ax=b无解的情形)
1.1两个极端的例子:
1) 如果b∈C(A),则Pb=b;
2) 如果b⊥C(A),则Pb=0。
证明1):
Pb=A(ATA)−1ATb=A(ATA)−1ATAx=A((ATA)−1ATA)x=Ax=b
证明2):
Pb=A(ATA)−1ATb=A(ATA)−1(ATb)=A(ATA)−10=0
具体的图示化看下文:
1.2一般情形
一般情况下,b将会有一个垂直于A的分量,有一个在A列空间中的分量,投影的作用就是去掉垂直分量而保留列空间中的分量。
向量b投影后,有b=e+p,p=Pb,e=(I−P)b,这里的p是b在C(A)中的分量,而e是b在N(AT)中的分量。
可以理解为:向量b的投影在A的列空间,偏差向量的投影在左零空间上,我们知道P,可以将b投影到p,那么一个什么样的投影矩阵把b投影到了e?因为列空间与左零空间正交补,所以他们共同组成了整个空间,I的列空间就是整个空间,I−P就是把b投影到e的矩阵。
2. 最小二乘法(Ax=b)
回到上一讲最后提到的例题:
我们需要找到距离图中三个点(1,1),(2,2),(3,2) ,偏差最小的直线:y=C+Dt。
根据条件可以得到方程组:
,写作矩阵形式:
,也就是我们的Ax=b,很明显方程组无解。
此时我们要找到最接近的解”最优解”,我们要使得解最优即误差最小,定义误差为Ax−b=e的模长的平方即∥∥Ax−b∥2=∥e∥2=e21+e22+e23。此处使用平方的原因一是排除开根号带来的非线性运算,一是方便利用偏导数求解最小值。
2.1利用偏导
这里如果使用偏导数我们也能得到关于最优解的方程,展开结果为:
然后对C求偏导为6C−10+12D=0;对D求偏导为28D−22+12C=0。 解方程得C^=23,D^=12,则“最佳直线”为y=23+12t,则“最佳直线”为y=23+12t,带回原方程组解得p1=76,p2=53,p3=136,即e1=−16,e2=13,e3=−16。 最终得到:p=⎡⎣⎢⎢7653136⎤⎦⎥⎥ ,
,易看出b=p+e,同时我们发现p⋅e=0即p⊥e。可以验证,向量p与e 正交,并且e 与矩阵A的列空间正交。
可以验证,向量p 与e 正交,并且e 与矩阵A 的列空间正交。
pTe=7/6∗(−1/6)+5/3∗1/3+13/6∗(−1/6)=0
eTa1=1∗(−1/6)+1∗1/3+1∗(−1/6)=0
eTa2=1∗(−1/6)+2∗1/3+3∗(−1/6)=0
误差向量e不仅垂直于投影向量p,它同时垂直于列空间。
2.2利用矩阵
用矩阵的方法求解Ax^=Pb得到的方程是一样的,现在我们尝试解出x^=[C^D^],p=⎡⎣⎢p1p2p3⎤⎦⎥。
3.证明ATA可逆