JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

投影:最近的点

投影就是一个向量投在一条直线或一个平面上的影子——也就是它里面最近的点。学会把任意向量拆成「子空间内部分」加上「垂直误差」,以及投影到单一方向上的公式。

影子图景

让一束光垂直照向一个向量,看看它的影子落在地板的哪里。那个影子就是这个向量在地板上的投影。在地板上所有的点之中,影子是离向量末端最近的那个点——投影和「最近点」是同一件事的两个名字。

拆成「内部」加「垂直误差」

相对于一个子空间(一条直线、一个平面等等),每个向量都能被唯一地拆成两块:住在子空间内部的那一块——就是投影——加上一块垂直于子空间、戳出去的剩余。我们把这块剩余叫做误差或残差,它的标志是:它和内部的一切都正交。

v  =  p   +   e
      |       |
  projection  error (perpendicular to the subspace)

p dot e = 0   <-- the two pieces are orthogonal
每个向量 = 它的投影 + 一个垂直的误差。

投影到单一方向

最简单的情形,是把 v 投影到经过单个向量 a 的那条直线上。公式是:把 a 按比例 (a dot v) / (a dot a) 缩放。分子衡量 v 与 a 有多对齐;分母不过是 a 的长度平方,它抵消掉 a 的大小,使答案只取决于 a 的方向

  1. 把 v = (2,2) 投影到 x 轴方向 a = (1,0) 上。
  2. a dot v = 1*2 + 0*2 = 2;a dot a = 1*1 + 0*0 = 1。
  3. 投影 p = (2/1)*(1,0) = (2,0);误差 e = v - p = (0,2),它与 a 垂直。
proj_a(v) = ( (a dot v) / (a dot a) ) * a

v=(2,2), a=(1,0):  (2/1)*(1,0) = (2,0)
check: e = v - p = (0,2),  a dot e = 0
投影到单一方向,剩下的误差与之垂直。