正交投影要找的是子空间里离给定向量最近的点。本页的子空间S是过原点O的平面或直线,给定的向量是b。b的投影p在S里,误差e=b−p和S成直角。你可以移动b、改变S,拿S里别的点和p比较,也可以看b在两根轴上的影子什么时候加起来正好是p。
为什么直角对应最近?在S里另取一点q。从q到p的线段在S里,所以和e垂直。b、p、q三点构成一个直角三角形,直角在p处,由勾股定理得
S里别的点都更远∣b−q∣2=∣e∣2+∣p−q∣2 所以只要q不是p,b到q就比到p远。反过来也一样:如果e朝S里某个方向倾斜,把p往那边挪一点,就会离b更近。因此在平面里,最近点就是e同时垂直于u和w的那一点。在直线上,e垂直于u就够了。
求p,就是解这几个直角条件。在直线上,p是u的倍数,由e⋅u=0定出这个倍数:
投影到直线上p=u⋅uu⋅bu 在平面里,设p=c1u+c2w。e⋅u=0和e⋅w=0这两个条件变成关于c1、c2的两个一次方程,叫作法方程:
法方程(u⋅u)c1+(u⋅w)c2=u⋅b,(w⋅u)c1+(w⋅w)c2=w⋅b 读数里,p既写成坐标,也写成u、w的组合。在同一个平面里拖动u和w,系数会跟着变,p却不动。投影只取决于子空间本身,和用哪两个向量来描述它无关。
u和w垂直时,两个方程互不牵连。每个系数只和一根轴有关,p就是b在两根轴上的影子之和:
只在两根轴垂直时成立p=u⋅ub⋅uu+w⋅wb⋅ww 轴是斜的,这个办法一般就不灵了。每个影子都当另一根轴不存在,加起来的s通常落不到p上。落不到时,读数也显示b−s至少有一个直角不成立。“让w垂直于u”这个键把w换成它垂直于u的那部分,这是格拉姆–施密特正交化的一步。平面还是原来的平面,两根轴却垂直了,这时对任何b,影子之和都正好是p。
过(1,1,1)的对角线是个熟悉的例子。把b投影到这条直线上,b的每个分量都换成了各分量的平均数,∣e∣2就是各分量与平均数之差的平方和。最小二乘回归用的也是这种投影。