本系列笔记为方便日后自己查阅而写,更多的是个人见解,也算一种学习的复习与总结,望善始善终吧~
老师说要让这一节课 immortal 名垂青史,不过明显这节课依然还是前菜。
从投影说起
投影?what?
就是我们初中学的如何将一条线段投影到另一条线段上啦~
那…怎么突然讲这个?
故事还要从Ax=b无解的时候说起,当其无解的时候,我们求的解是什么?
我们想要的是“最优解”,即这个解对于原方程偏差error 最小,我们知道Ax=b有解时b在A的column space当中,当我们取b在column space中的投影b^时,求解Ax=b^此时的解的error最小。(猜测b^与b的距离最小,不过不知道如何定义距离)
投影矩阵
二维上的投影
既然问题的关键在于投影,那么我们先从简单的开始
向量b投影到a上,p是其投影,e就是b到a的距离,就是偏差error
a⊥e=a⊥(b−xa)
⇒aT(b−xa)=0
⇒aTb=xaTa
⇒x=aTbaTa
于是p=ax=aaTbaTa=aaTaTab
看着有没有一点眼熟,ata是一个常数aaT是一个矩阵,合起来就是一个投影矩阵P,p=Pb代表b被投影成p
P就是这节课的主角——投影矩阵
P有一些显而易见的性质:
- P是一个对称矩阵symmetric matrix,因为我们知道aaT是一个对称矩阵
- 对投影好的vector p再次投影结果不变,即PPb=p=Pb,故P2=P
- 对于此处的P来说,任意向量都会被其投影到向量a上,说明P的线性组合linear combination全部在a这个space当中,所以a是P的column space
推广到多维
接下来我们考虑多维的情况,实际的去考虑Ax=b
a1,a2为平面的基basics,构成了一个space,将其作为A的columnspace,b的投影为p,e为偏差,由于p在space当中,所以可以由a1,a2线性组合得到,所以p=x^1a1+x^2a2=Ax^
老样子利用垂直的性质做:
e⊥a1且e⊥a2,e=b−p=b−Ax^
所以:
和前面二维空间的很像有木有!!
从矩阵角度来看e在AT的null space中,通过之前的学习,我们知道AT的null space和A的column space垂直,所以e垂直于A的column space
将上图中式子化开得
ATAx^=ATb⇒x^=(ATA)−1ATb
像之前一样我们关注一下投影矩阵P
p=Ax^=A(ATA)−1ATb=Pb
⇒P=A(ATA)−1AT
注意:这里(ATA)−1无法化简,因为我们说了Ax=b无解,所以A不可逆
和在二维当中一样P有一些相似的性质:
- PT=P
- P2=P
这二个性质都很好推导,不写了。
引申:最小二乘 least squares拟合直线
这里老师引入一个问题:我们如何通过三个点拟合出一条直线:
实际上这里我们的直线是无解的,就是说我们找不到一条直线完全通过这三个点,实际上就是说我们根据输入输出可以写出三个方程,但是无解,这就是一个Ax=b的问题,我们需要求“最优解”。
看来老师大概想告诉我们:何为“最优”,即我们的目标是什么?很明显是使得偏差error最小,这里我们要用的就是使得偏差error的平方square最小least,就是这样~翻译成最小二乘反而有点影响人理解了。
其他的就是下一节课的内容咯~
PS:另一位仁兄的笔记
http://blog.csdn.net/suqier1314520/article/details/13630933