線性代數之——正交矩陣和 Gram-Schmidt 正交化
這部分我們有兩個目標。一是瞭解正交性是怎麼讓 \(\hat x\) 、\(p\) 、\(P\) 的計算變得簡單的,這種情況下,\(A^TA\) 將會是一個對角矩陣。二是學會怎麼從原始向量中構建出正交向量。
1. 標準正交基
向量 \(q_1, \cdots, q_n\) 是標準正交的,如果它們滿足如下條件:
\[q_i^Tq_j = \begin{cases} 0,&\text{if } i \not = j \quad(正交向量)\\ 1, &\text{if } i = j \quad(單位向量) \end{cases}\]
如果一個矩陣的列是標準正交的,我們稱之為 \(Q\)
當 \(Q\) 是方陣的時候,我們可以得到 \(Q^T=Q^{-1}\),也即轉置等於逆。
- 旋轉(Rotation)
旋轉矩陣 \(Q\) 就是將任意向量逆時針旋轉 \(\theta\),其逆矩陣 \(Q^{-1}\) 就是將任意向量順時針旋轉 \(\theta\)。
- 置換(Permutation)
置換矩陣的作用就是交換矩陣的行,在消元的時候有很大的作用。
- 映象(Reflection)
如果 \(u\) 是任意單位向量,那麼 \(Q = I-2uu^T\) 是一個正交矩陣。
\[Q^2=Q^TQ=I\]
繞對稱軸映象兩次還是它本身。
取 \(u_1=(1, 0)\),\(u_2=(1/\sqrt2, -1/\sqrt2)\),然後,我們可以得到兩個正交矩陣。
\(Q_1\) 將任意向量 \((x, y)\) 變為 \((-x, y)\),\(y\) 軸是映象軸。\(Q_2\) 將任意向量 \((x, y)\) 變為 \((y, x)\),\(45°\) 軸是映象軸。
可以看到,旋轉、置換和映象都不會改變一個向量的長度。實際上,乘以任意正交矩陣都不會改變向量的長度。
\[||Qx||=||x||\]
\[||Qx||^2 = (Qx)^T(Qx) = x^TQ^TQx = x^TIx=||x||^2\]
而且,正交矩陣也會保留兩個向量的點積。
\[(Qx)^T(Qy) = x^TQ^TQy = x^Ty\]
2. 正交矩陣的投影
當矩陣 \(A\) 變成了正交矩陣 \(Q\),那麼投影就會變得非常簡單,我們不需要求任何逆矩陣。
\[A^TA\hat x=A^Tb \to \hat x=Q^Tb\]
\[p=A\hat x \to p=Q\hat x = QQ^Tb\]
\[P = A(A^TA)^{-1}A^T \to P = QQ^T\]
當 \(Q\) 為方陣的時候,子空間為整個空間,有 \(Q^T=Q^{-1}\)。\(\hat x = Q^Tb\) 就等同於 \(x=Q^{-1}b\),也就是有唯一解,\(b\) 的投影即為它本身。
這就是傅立葉變化和所有應用數學中各種變化的基礎,它們將向量或者函式分解成正交的小片,將這些小片加起來之後就回到了原函式。
3. Gram-Schmidt 正交化和 \(A\) 的 \(QR\) 分解
從上面我們可以看到正交對我們是非常有利的,現在我們就要找到一個方法來創造出標準正交的向量。假設我們有三個不相關的向量 \(a, b, c\),如果我們能構造出正交的三個向量 \(A,B,C\),那麼再除以它們的長度就得到了標準正交向量。
首先,我們選取 \(A=a\),那麼 \(B\) 必須垂直於 \(A\) 。我們用 \(b\) 減去其在 \(A\) 的投影,就得到了垂直於 \(A\) 的部分,這也就是我們要找的 \(B\)。
\[B = b - \frac{A^Tb}{A^TA}A\]
接著,我們再用 \(c\) 減去其在 \(A\) 和 \(B\) 的投影,就得到我們要找的 \(C\)。
\[C = c - \frac{A^Tc}{A^TA}A-\frac{B^Tc}{B^TB}B\]
如果我們有更多的向量,那我們就用新的向量減去它在已經設定好的所有向量上的投影即可,最後,我們再除以它們各自的長度就得到了標準正交向量。
可以看到,\(q_1=a/||a||\),沒有涉及到其它向量,\(a\)、\(q_1\)、\(A\) 都位於一條線上。第二步中 \(b\) 也只是 \(A\) 和 \(B\) 的線性組合,不涉及到後面的向量,\(a,b\)、\(q_1,q_2\)、\(A,B\) 都位於一個平面內。在每一個步驟中,\(a_1, a_2, \cdots, a_k\) 只是 \(q_1, q_2, \cdots, q_k\) 的線性組合,後面的 \(q\) 沒有涉及到。
聯絡 \(A\) 和 \(Q\) 的矩陣 \(R\) 是上三角形矩陣,有 \(A=QR\)。
任意 \(m×n\) 的矩陣 \(A\),如果其列是不相關的,那麼就可以分解成 \(QR\),\(Q\) 的列是標準正交的,而 \(R\) 是上三角矩陣並且對角線元素為正,為向量 \(\cdots B,C\cdots\) 的長度。
然後,最小二乘就變成了
\[A^TA\hat x=A^Tb \to R^TQ^TQR\hat x=R^TQ^Tb \to R^TR\hat x=R^TQ^Tb \to R\hat x=Q^Tb \to \hat x = R^{-1}Q^Tb\]
獲取更多精彩,請關注「seniusen」!