線性代數 · 正交投影

正交投影

向量b在子空間上的正交投影,是子空間中離b最近的點p。誤差e = b − p與子空間垂直,而子空間中的其他點q都更遠:|b − q|² = |e|² + |p − q|²。

從圖中看正交投影

正交投影找出子空間中離給定向量最近的點。本頁的子空間SS是通過原點O的平面或直線,給定向量為b⃗\vec b。它的投影p⃗\vec p位於SS中,誤差e⃗=b⃗−p⃗\vec e = \vec b - \vec p則與SS成直角。你可以移動b⃗\vec b、改變SS,將p⃗\vec p與SS中的其他點比較,也可以觀察b⃗\vec b在兩軸上的影子何時相加恰好等於p⃗\vec p。

為什麼直角會給出最近點?在SS中另取一點qq。從qq到p⃗\vec p的線段位於SS內,因此與e⃗\vec e垂直。b⃗\vec b、p⃗\vec p與qq三點構成直角三角形,直角在p⃗\vec p處,由畢氏定理可得

S中的其他點都更遠
∣b⃗−q∣2=∣e⃗∣2+∣p⃗−q∣2|\vec b - q|^2 = |\vec e|^2 + |\vec p - q|^2

因此,除非qq就是p⃗\vec p,否則b⃗\vec b到qq的距離大於到p⃗\vec p的距離。反過來也成立:若e⃗\vec e朝SS中的某個方向傾斜,將p⃗\vec p往那個方向稍微移動,就能更接近b⃗\vec b。所以在平面中,最近點就是讓e⃗\vec e同時垂直於u⃗\vec u與w⃗\vec w的那一點。在直線上,只須垂直於u⃗\vec u即可。

求p⃗\vec p,就是解這些直角條件。在直線上,p⃗\vec p是u⃗\vec u的倍數,而條件e⃗⋅u⃗=0\vec e\cdot\vec u = 0決定了這個倍數:

投影到直線上
p⃗=u⃗⋅b⃗u⃗⋅u⃗ u⃗\vec p = \frac{\vec u\cdot\vec b}{\vec u\cdot\vec u}\,\vec u

在平面中,令p⃗=c1u⃗+c2w⃗\vec p = c_1\vec u + c_2\vec w。條件e⃗⋅u⃗=0\vec e\cdot\vec u = 0與e⃗⋅w⃗=0\vec e\cdot\vec w = 0成為關於c1c_1與c2c_2的兩個一次方程,稱為正規方程式:

正規方程式
(u⃗⋅u⃗) c1+(u⃗⋅w⃗) c2=u⃗⋅b⃗,(w⃗⋅u⃗) c1+(w⃗⋅w⃗) c2=w⃗⋅b⃗(\vec u\cdot\vec u)\,c_1 + (\vec u\cdot\vec w)\,c_2 = \vec u\cdot\vec b,\qquad (\vec w\cdot\vec u)\,c_1 + (\vec w\cdot\vec w)\,c_2 = \vec w\cdot\vec b

讀數同時以座標,以及u⃗\vec u與w⃗\vec w的線性組合表示p⃗\vec p。在同一平面內拖曳u⃗\vec u與w⃗\vec w,係數會改變,但p⃗\vec p不變。投影只取決於子空間本身,與用哪些向量描述它無關。

當u⃗\vec u與w⃗\vec w垂直時,兩個方程彼此獨立。每個係數只取決於一根軸,p⃗\vec p就是b⃗\vec b在兩軸上的影子之和:

只在兩軸垂直時成立
p⃗=b⃗⋅u⃗u⃗⋅u⃗ u⃗+b⃗⋅w⃗w⃗⋅w⃗ w⃗\vec p = \frac{\vec b\cdot\vec u}{\vec u\cdot\vec u}\,\vec u + \frac{\vec b\cdot\vec w}{\vec w\cdot\vec w}\,\vec w

對斜軸而言,這個捷徑通常行不通。計算每個影子時都忽略另一根軸,因此影子之和ss通常不會落在p⃗\vec p上。此時讀數顯示,b⃗−s\vec b - s至少有一個直角條件不成立。讓w垂直於u會將w⃗\vec w換成它垂直於u⃗\vec u的部分,這是格拉姆–施密特正交化的一步。平面仍是原來的平面,但兩根軸現在互相垂直,對任何b⃗\vec b,影子之和都等於p⃗\vec p。

通過(1,1,1)(1, 1, 1)的對角線提供了一個熟悉的例子。將b⃗\vec b投影到這條直線,等於把b⃗\vec b的每個分量換成各分量的平均數,而∣e⃗∣2|\vec e|^2就是各分量與平均數之差的平方和。最小平方法迴歸使用的也是這種投影。

操作方式

  • 拖曳b⃗\vec b上的實心點,可使它平行於SS移動,p⃗\vec p也跟著移動。拖曳實心點外側的小環,則使b⃗\vec b垂直於SS移動,p⃗\vec p保持不動。
  • 選擇平面時,u⃗\vec u與w⃗\vec w只能在原有平面內拖曳。若要改變平面,請輸入新座標或使用數值鍵。

相關內容