正交投影──威力強大的線代工具

本文的閱讀等級:初級

具有內積功能的向量空間簡稱為內積空間,線性代數中許多重要理論和應用都從內積空間衍生出來,例如基底正交化,QR 分解,最小平方法,矩陣譜定理,甚至奇異值分解 (singular value decomposition) 也和內積空間密切相關。在內積空間中,最重要的運算除了內積本身,另一個威力強大的代數工具就是將任意向量分解為正交分量之和的正交投影 (orthogonal projection)。本文介紹兩個推導正交投影矩陣方法,第一個是歸納法,從一道簡單的幾何問題開始──將向量投影至一直線,繼續推廣可導出至一般子空間的正交投影。這個方法較具幾何直觀,適宜初學者學習。另一個方法是將正交性質加入向量空間的斜投影,再利用矩陣代數推導正交投影矩陣。本文內容限定實幾何向量空間 \mathbb{R}^n,如欲延伸至 \mathbb{C}^n,僅需將轉置 (\cdot)^T 改為共軛轉置 (\cdot)^\ast

 

見下圖,考慮 \mathbb{R}^n 向量 \mathbf{z}\mathbf{x}\neq\mathbf{0},直線 \mathcal{L}\mathbf{x} 所擴張,如何計算 \mathbf{z} 至直線 \mathcal{L} 的正交投影?

正交投影至一直線

\mathbf{p}=\alpha\mathbf{x} 為投影量,\alpha 是尚待決定的純量。根據正交投影定義,殘餘量 \mathbf{z}-\mathbf{p}=\mathbf{z}-\alpha\mathbf{x} 必定與 \mathbf{x} 正交,亦即

\mathbf{x}^T(\mathbf{z}-\alpha\mathbf{x})=0

展開上式得到唯一解 \alpha=\frac{\mathbf{x}^{T}\mathbf{z}}{\mathbf{x}^T\mathbf{x}}。利用矩陣乘法結合律,

\displaystyle  \mathbf{p}=\frac{\mathbf{x}^{T}\mathbf{z}}{\mathbf{x}^{T}\mathbf{x}}\mathbf{x}=\mathbf{x}\displaystyle\frac{\mathbf{x}^{T}\mathbf{z}}{\mathbf{x}^{T}\mathbf{x}}=\frac{(\mathbf{x}\mathbf{x}^T)\mathbf{z}}{\mathbf{x}^{T}\mathbf{x}}=\frac{\mathbf{x}\mathbf{x}^{T}}{\mathbf{x}^{T}\mathbf{x}}\mathbf{z}

Pn 階投影方陣滿足 \mathbf{p}=P\mathbf{z}。上式表明

P=\displaystyle\frac{\mathbf{x}\mathbf{x}^{T}}{\mathbf{x}^{T}\mathbf{x}}

向量 \mathbf{z} 可分解為投影至 \mathcal{L} 的分量 \mathbf{p} 和殘餘量 \mathbf{z}-\mathbf{p}=(I-P)\mathbf{z},且 \mathbf{p}\perp(\mathbf{z}-\mathbf{p}),既然殘餘量 (I-P)\mathbf{z} 屬於正交補餘 \mathcal{L}^{\perp}I-P 也就是 \mathcal{L}^{\perp} 的正交投影矩陣。

 
運用類似方法可以將向量 \mathbf{z} 正交投影至線性獨立向量集 \{\mathbf{x}_1,\ldots,\mathbf{x}_k\} 所擴張的子空間 \mathcal{X}。設正交投影量為 \mathbf{p}=\alpha_1\mathbf{x}_1+\cdots+\alpha_k\mathbf{x}_k\alpha_i 由正交條件決定:\mathbf{x}_i^{T}(\mathbf{z}-\mathbf{p})=0i=1,\ldots,k。令 n\times k 階矩陣 X=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_k    \end{bmatrix}。寫出 \mathbf{p}=X\boldsymbol{\alpha},其中 \boldsymbol{\alpha}=(\alpha_1,\ldots,\alpha_k)^T,上述 k 個條件式可表示成矩陣形式,如下:

\begin{aligned}  \begin{bmatrix}    \mathbf{x}_1^{T}\\    \vdots\\    \mathbf{x}_k^T    \end{bmatrix}(\mathbf{z}-X\boldsymbol{\alpha})&=X^{T}(\mathbf{z}-X\boldsymbol{\alpha})=\mathbf{0}\end{aligned}

整理得到 X^{T}X\boldsymbol{\alpha}=X^{T}\mathbf{z}。因為 X 有線性獨立的行向量 (column vector),\text{rank}X=k。再利用實矩陣秩性質 \text{rank}(X^TX)=\mathrm{rank}X=k (見“利用 Grammian 矩陣證明行秩等於列秩”),得知 X^{T}Xk 階可逆方陣,\boldsymbol{\alpha} 有唯一解:

\boldsymbol{\alpha}=(X^{T}X)^{-1}X^{T}\mathbf{z}

也就得出正交投影量

\begin{aligned}  \mathbf{p}&=X\boldsymbol{\alpha}=X(X^{T}X)^{-1}X^{T}\mathbf{z}\end{aligned}

上式同時給出了正交投影至子空間 \mathcal{X}n 階方陣:

P=X(X^{T}X)^{-1}X^{T}

同樣地,至正交補空間 \mathcal{X}^{\perp} 的正交投影矩陣為 I-P

 
\mathcal{X}=\mathbb{R}^n,則 n\times n 階矩陣 Xn 個線性獨立的行向量。在此情況下,X 為可逆方陣,故 P=X(X^TX)^{-1}X^T=XX^{-1}(X^T)^{-1}X^T=I_n。若 \mathcal{X}=\{\mathbf{0}\}X 未定義,不過我們仍可推斷 P=0

 
下面我們介紹另一個推演正交投影矩陣的方法。在“直和與投影”一文,我們導出了在向量空間 \mathbb{R}^n=\mathcal{X}\oplus\mathcal{Y} 中沿著 \mathcal{Y}\mathcal{X} 的投影矩陣,設 \mathbf{x}_1,\ldots,\mathbf{x}_k\mathcal{X} 的基底,而 \mathbf{y}_1,\ldots,\mathbf{y}_{n-k}\mathcal{Y} 的基底。令 n\times n 階可逆矩陣

\begin{bmatrix}    X&Y    \end{bmatrix}=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_k&\mathbf{y}_1&\cdots&\mathbf{y}_{n-k}    \end{bmatrix}

斜投影矩陣算式為

P=\begin{bmatrix}    X&0    \end{bmatrix}\begin{bmatrix}    X&Y    \end{bmatrix}^{-1}

接下來的工作是在正交投影的條件下計算 \begin{bmatrix}    X&Y    \end{bmatrix}^{-1},亦即解出 k\times n 階矩陣 A(n-k)\times n 階矩陣 B 使得

\begin{bmatrix}    A\\    B    \end{bmatrix}\begin{bmatrix}    X&Y    \end{bmatrix}=\begin{bmatrix}    I_k&0\\    0&I_{n-k}    \end{bmatrix}

以分塊矩陣乘法展開可得 AX=I_kAY=0BY=I_{n-k}BX=0AX 的左逆矩陣,BY 的左逆矩陣。

 
在一般情況下,AB 並不具有簡單公式,但如果 P 為正交投影矩陣,則可以化簡得 AB 公式。若 \mathcal{Y}\mathcal{X} 的正交補餘,\mathcal{Y}=\mathcal{X}^{\perp},也就是說,對於任意 ij\mathbf{x}_i\perp\mathbf{y}_j,以矩陣乘法表示為

\begin{aligned}  \begin{bmatrix}    \mathbf{x}_1^T\\    \vdots\\    \mathbf{x}_{k}^{T}    \end{bmatrix}\begin{bmatrix}    \mathbf{y}_1&\cdots&\mathbf{y}_{n-k}    \end{bmatrix}&=X^{T}Y=0\end{aligned}

取轉置也有 Y^{T}X=0。又因為 XY 的行向量都是線性獨立的,故 \mathrm{rank}X^{T}X=k\mathrm{rank}Y^TY=n-kX^TXY^TY 皆為可逆矩陣。綜合以上結果,不難驗證

\begin{aligned}  A&=(X^{T}X)^{-1}X^{T}\\  B&=(Y^{T}Y)^{-1}Y^{T}\end{aligned}

所以

\begin{aligned}  \begin{bmatrix}    X&Y    \end{bmatrix}^{-1}&=\begin{bmatrix}  A\\  B  \end{bmatrix}=\begin{bmatrix}    (X^{T}X)^{-1}X^{T}\\    (Y^{T}Y)^{-1}Y^{T}    \end{bmatrix}\end{aligned}

代入斜投影矩陣計算公式便導出正交投影矩陣:

\begin{aligned}  P&=\begin{bmatrix}    X&0    \end{bmatrix}\begin{bmatrix}    (X^{T}X)^{-1}X^{T}\\    (Y^{T}Y)^{-1}Y^{T}    \end{bmatrix}=X(X^{T}X)^{-1}X^{T}\end{aligned}

 
我們可以證明正交投影矩陣 PX 的行空間 (column vector) 關係為 C(P)=C(X) 且零空間 (nullspace) 關係為 N(P)=N(X^T)。若 \mathbf{x}\in C(X),則 P\mathbf{x}=\mathbf{x},故 \mathbf{x}\in C(P),證明 C(X)\subseteq C(P)。若 \mathbf{x}\in C(P),必存在 \mathbf{y} 使得 \mathbf{x}=P\mathbf{y},換句話說,\mathbf{y} 通過 P 正交投影至 \mathbf{x},故 \mathbf{x}\in C(X),證明 C(P)\subseteq C(X)。合併以上結果,C(P)=C(X)。使用子空間的正交補餘關係,N(P)=C(P^T)^{\perp}N(X^T)=C(X)^{\perp}。又因為 P^T=PC(P)=C(X),推得 N(P)=C(P)^{\perp}=C(X)^{\perp}=N(X^T)

 
最後還要強調一點,不論是斜投影或正交投影,投影矩陣 P 與選擇的基底無關。假設二個線性獨立向量集 \{\mathbf{x}_1,\ldots,\mathbf{x}_k\}\{\mathbf{w}_1,\ldots,\mathbf{w}_k\} 都擴張出相同的子空間,這表示任意 \mathbf{x}_i 可以唯一表示成 \mathbf{w}_1,\ldots,\mathbf{w}_k 的線性組合,亦即存在唯一的 k 階可逆矩陣 B=[b_{ij}] 滿足

\begin{aligned}  X&=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_k    \end{bmatrix}=\begin{bmatrix}    \mathbf{w}_1&\cdots&\mathbf{w}_k    \end{bmatrix}\begin{bmatrix}    b_{11}&\cdots&b_{1k}\\    \vdots&\ddots&\vdots\\    b_{k1}&\cdots&b_{kk}    \end{bmatrix}=WB\end{aligned}

將上式代入正交投影矩陣,可得

\begin{aligned}  P&=X(X^TX)^{-1}X^{T}\\  &=WB(B^TW^TWB)^{-1}B^{T}W^{T}\\  &=WBB^{-1}(W^TW)^{-1}(B^{T})^{-1}B^{T}W^{T}\\  &=W(W^TW)^{-1}W^{T}\end{aligned}

例如,向量空間 \mathbb{R}^3 的子空間 \mathcal{X} 有二組基底:

\begin{aligned}  \mathfrak{B}_1&=\left\{\begin{bmatrix}    2\\    1\\    1\    \end{bmatrix},\begin{bmatrix}    1\\    1\\    1    \end{bmatrix}\right\}\\  \mathfrak{B}_2&=\left\{\begin{bmatrix}    1\\    0\\    0\    \end{bmatrix},\begin{bmatrix}    0\\    1\\    1    \end{bmatrix}\right\}\end{aligned}

由基底 \mathfrak{B}_1 計算出投影矩陣為

\begin{aligned}  P_1&=\begin{bmatrix}    2&1\\    1&1\\    1&1    \end{bmatrix}\begin{bmatrix}    6&4\\    4&3    \end{bmatrix}^{-1}\begin{bmatrix}    2&1&1\\    1&1&1    \end{bmatrix}=\begin{bmatrix}    1&0&0\\    0&\frac{1}{2}&\frac{1}{2}\\[0.3em]    0&\frac{1}{2}&\frac{1}{2}    \end{bmatrix}\end{aligned}

由基底 \mathfrak{B}_2 計算出投影矩陣為

\begin{aligned}  P_2&=\begin{bmatrix}    1&0\\    0&1\\    0&1    \end{bmatrix}\begin{bmatrix}    1&0\\    0&2    \end{bmatrix}^{-1}\begin{bmatrix}    1&0&0\\    0&1&1    \end{bmatrix}=\begin{bmatrix}    1&0&0\\    0&\frac{1}{2}&\frac{1}{2}\\[0.3em]    0&\frac{1}{2}&\frac{1}{2}    \end{bmatrix}\end{aligned}

確認 P_1=P_2

 
顯然基底 \mathfrak{B}_2 給出較為簡單的算式,這個結果建議我們選擇正交基底。如果 X 包含正交行向量,X^TX 為對角矩陣 X^TX=\mathrm{diag}(\Vert\mathbf{x}_1\Vert^2,\ldots,\Vert\mathbf{x}_k\Vert^2),就有

\begin{aligned}  P&=X(X^TX)^{-1}X^{T}\\    &=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_k    \end{bmatrix}\begin{bmatrix}    (\mathbf{x}_1^T\mathbf{x}_1)^{-1}&~&~\\    ~&\ddots&~\\    ~&~&(\mathbf{x}_k^T\mathbf{x}_k)^{-1}    \end{bmatrix}\begin{bmatrix}    \mathbf{x}_1^T\\    \vdots\\    \mathbf{x}_k^T    \end{bmatrix}\\    &=\displaystyle\frac{\mathbf{x}_1\mathbf{x}_1^T}{\mathbf{x}_1^T\mathbf{x}_1}+\cdots+\frac{\mathbf{x}_k\mathbf{x}_k^T}{\mathbf{x}_k^T\mathbf{x}_k}\end{aligned}

採用正交基底的優點是正交投影量的計算非常簡單,利用乘法結合律可得

\begin{aligned}  P\mathbf{z}&=\displaystyle\left(\frac{\mathbf{x}_1\mathbf{x}_1^T}{\mathbf{x}_1^T\mathbf{x}_1}+\cdots+\frac{\mathbf{x}_k\mathbf{x}_k^T}{\mathbf{x}_k^T\mathbf{x}_k}\right)\mathbf{z}\\  &=\frac{\mathbf{x}_1^T\mathbf{z}}{\mathbf{x}_1^T\mathbf{x}_1}\mathbf{x}_1+\cdots+\frac{\mathbf{x}_k^T\mathbf{z}}{\mathbf{x}_k^T\mathbf{x}_k}\mathbf{x}_k\end{aligned}

又如果 X=Q 包含單範正交 (orthonormal) 行向量 \mathbf{q}_1,\ldots,\mathbf{q}_k,其中 \mathbf{q}_i^T\mathbf{q}_j=0i\neq j\mathbf{q}_i^T\mathbf{q}_j=1i=j,就有

\begin{aligned}  Q^{T}Q&=\begin{bmatrix}    \mathbf{q}_1^T\\    \vdots\\    \mathbf{q}_k^T    \end{bmatrix}\begin{bmatrix}    \mathbf{q}_1&\cdots&\mathbf{q}_k    \end{bmatrix}=\begin{bmatrix}    1&~&~\\    ~&\ddots&~\\    ~&~&1    \end{bmatrix}=I_k\end{aligned}

投影矩陣因此為

\begin{aligned}  P&=Q(Q^TQ)^{-1}Q^{T}=Q(I_k)^{-1}Q^T=QQ^{T}\\  &=\begin{bmatrix}    \mathbf{q}_1&\cdots&\mathbf{q}_k    \end{bmatrix}\begin{bmatrix}    \mathbf{q}_1^{T}\\    \vdots\\    \mathbf{q}_k^{T}    \end{bmatrix}=\mathbf{q}_1\mathbf{q}_1^T+\cdots+\mathbf{q}_k\mathbf{q}_k^{T}\end{aligned}

正交投影量則為

P\mathbf{z}=(\mathbf{q}_1^T\mathbf{z})\mathbf{q}_1+\cdots+(\mathbf{q}_k^T\mathbf{z})\mathbf{q}_k

 
欲進一步瞭解正交投影矩陣的性質,請參見“特殊矩陣 (5):冪等矩陣”。正交投影於最小平方法的應用,請見“從線性變換解釋最小平方近似”。正交投影與基底正交化,QR 分解,和矩陣譜定理的關係將另文說明。

繼續閱讀:
Advertisements
本篇發表於 線性代數專欄, 內積空間 並標籤為 , , , , , , , , 。將永久鏈結加入書籤。

12 則回應給 正交投影──威力強大的線代工具

  1. student 說道:

    不好意思能夠協助解此題嗎

    Let A has three columns
    (1, 1,…, 1),
    ( t1,t2,t3…tm) ,
    ( [t1]^2, [t2]^2, [t3]^2, …[tm]^2 )
      
    Solve (AT)Ax = (AT)b
      
    (AT)為A的轉置矩陣

  2. ccjou 說道:

    你的問題稱為 polynomial curve fitting,概念很簡單但計算很繁雜,這個網站裡面說明的很清楚:

    http://mathworld.wolfram.com/LeastSquaresFittingPolynomial.html

    如果你有其他問題可以在交流園地發表,謝謝。

  3. VtripleV 說道:

    最近看youtube上量子力學開放課程的lectures,發現正交基底及正交投影矩陣的概念在量子力學的數學描述大量的使用,正交投影果然是威力強大.

  4. liang dai 說道:

    周老师,如果空间再一般一些,该如何做投影呢?比如该空间为Ax=b.

    我的方法就是构造一个优化问题 min norm(s-x) s.t. Ax = b

    可是物理意义不是很明显。 周老师可以妙法?

  5. ccjou 說道:

    你說的仿射空間的投影問題, 譬如說:給定 s\in V, V 是一向量空間, WV 的子空間, S 是子空間 W 再加上平移 b\neq 0, 我們想找出 x\in S=W+b 使得 \Vert s-x\Vert 極小.

    用點技巧, 先將 sS 全都減去 b, 這樣大家又都回到子空間來. 我們默想
    b\to 0, s\to(s-b), x\to(x-b)
    既然 xsS 的正交投影, 那 x-b 也就是 s-bW 的正交投影, 由上文給出方法可得正交投影至 W 的矩陣 P, 所以
    x-b=P(s-b) 推得 x=P(s-b)+b 即為 S 中最接近 s 的向量.

  6. liang dai 說道:

    这个倒是个不错的直观观点。谢谢周老师。

  7. Alumi 說道:

    周老師請問一下:
    正交投影矩陣為甚麼只能用在歐式空間且要求標準內積呢?

  8. Vahi Chen 說道:

    周老师您好,补充几点:(修正下公式显示,烦请周老师删除上一天评论)

    1. 方法一推广至子空间\mathcal{X}的过程中,在条件式表示为矩阵形式的公式中,向量\mathbf{x}_k漏写了转置上标\:^T

    2. 方法一从对直线\mathcal{L}的投影到对子空间\mathcal{X}的投影的推广过程中,为保持前后统一,利用正交性质时,对于前者可直接使用\mathbf{x}^T(\mathbf{z}-\alpha\mathbf{x})=0,而不是(\mathbf{z}-\alpha\mathbf{x})^T\mathbf{x}=0,这样后续的推导可省去对内积交换律\mathbf{z}^T\mathbf{x}=\mathbf{x}^T\mathbf{z}的使用。

    3. 针对正交投影矩阵P=X(X^TX)^{-1}X^T,显然因为X具有线性独立column vectors,所以X^TX是对称可逆方阵。如果X本身为可逆方阵(n=k),则此时投影矩阵P可化简为单位矩阵:P=XX^{-1}{(X^T)}^{-1}X^T=I_{n=k};但对于普通矩形矩阵(rectangular matrix)而言,上式不能进行简化,因为矩形矩阵X的逆矩阵X^{-1}不存在。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s