線性代數精華——從正交向量到正交矩陣



向量內積


這個基本上是中學當中數學課本上的概念,兩個向量的內積非常簡單,我們直接看公式回顧一下:

\[X \cdot Y = \sum_{i=1}^n x_i*y_i \]

這里X和Y都是n維的向量,兩個向量能夠計算內積的前提是兩個向量的維度一樣。從上面公式可以看出來,兩個向量的內積就等於兩個向量對應各個維度的分量的乘積的和。

為了和矩陣乘法以及普通的乘法做區分,我們通常把兩個向量的內積寫成:\([x, y]=x^Ty\)

這里有一個很重要的性質,對於一個向量而言,我們可以用歐幾里得公式計算它的長度。進一步,我們可以用向量的長度以及向量之間的夾角來表示向量的內積,如下:

\[[x, y]=|x|\cdot |y|\cos\theta \]

其中的\(\theta\)是x和y向量之間的夾角,對於三維及以下空間內的向量,這一點非常直觀。對於高維度的向量,我們很難想象它的物理意義。不過沒有關系,我們一樣可以認為向量之間存在一個廣義超空間內的一個夾角。在機器學習領域,我們通常用這個夾角來反應向量之間的相似度。兩個向量越相似,那么它們之間的夾角應該越小,對應的cos余弦值應該越大。所以我們可以用兩個向量之間的余弦值來反應它們之間的相似度。余弦值的計算就源於此。


正交向量


從上面的公式可以看出來,向量的內積等於兩個向量長度乘上向量之間的夾角。對於非零向量而言,它們的長度都應該是大於0的。所以兩個向量的內積的大小,就完全取決於向量之間的夾角\(\theta\)

如果\(\theta\)小於90°,那么\(\cos\theta>0\),那么內積為正值。如果\(\theta\)大於90°,那么余弦值為負值。所以我們可以通過余弦值正負判斷夾角是銳角還是鈍角。既然說到夾角,自然就離不開一種特殊情況——垂直

如果是在二維平面當中,兩個向量夾角是90°,那么顯然這兩個向量垂直。在高維空間當中也是一樣,不過我們一般不說垂直,而是會換一個詞——正交。兩個非零向量的內積為0,說明兩個向量正交。


正交向量組


搞清楚了正交向量之后,正交向量組也就明確了。正交向量組是指一組兩兩正交且非零的向量組

如果n維的向量組:\(a_1, a_2, \cdots,a_r\)兩兩正交,那么,它們一定線性無關。也就是說不存在一組不為零的系數\(\lambda\),使得:

\[\lambda_1a_1+\lambda_2a_2+\cdots + \lambda_ra_r=0 \]

這點很容易證明,由於向量組內向量均不為0,我們只需要在等式兩邊隨便乘上一個向量即可,假設我們乘的是\(a_1\)。由於它與其他向量兩兩正交,所以其他項全為0。如果要等式成立,那么必須要:

\[\lambda_1a_1^Ta_1=0 \]

由於\(a_1\)不為0,那么\(a_1^Ta_1\)必然不為0,要使得等式成立,只能是\(\lambda_1\)為0。


規范正交基


我們把正交向量組的概念和基的概念融合,如果向量組\(e_1, e_2, \cdots, e_r\)是向量空間V的一個基。如果它們之間彼此正交,那么就稱它們是一組規范正交基。

對於向量a,我們可以很方便地求出它在規范正交基下各個維度的坐標:

\[\lambda_i = e_i^Ta=[a, e_i] \]

也就是說向量a,在規范正交基下某一個維度的坐標, 等於它和這個維度的正交基向量的內積

如果說我們已經知道向量空間V中的一組基是\(a_1, a_2, \cdots, a_r\),我們怎么求V的規范正交基呢?

這里要用到一個算法,叫做施密特算法。通過這個算法,我們可以通過向量空間的一組基來求出它的正交基。

這個算法很簡單,我們可以直接寫出它的公式:

\[\begin{aligned} b_1 &= a_1 \\ b_2 &= a_2 - \frac{[b_1, a_2]}{[b_1, b_1]}b_1\\ \cdots\\ b_r &= a_r - \frac{[b_1, a_r]}{[b_1, b_1]}b_1-\frac{[b_2, a_r]}{[b_2, b_2]}b_2 - \cdots - \frac{[b_{r-1}, a_r]}{[b_{r-1}, b_{r-1}]}b_{r-1} \end{aligned} \]

我們隨便取兩個b向量乘一下就知道,b向量組之中兩兩正交。所以,我們只要將b向量組單位化一下,就可以求出對應的規范正交基了。

即:

\[e_1=\frac{1}{||b_1||}b_1, \quad e_2=\frac{1}{||b_2||}b_2 \quad \cdots \quad e_r=\frac{1}{||b_r||}b_r \]

這個算法雖然不難,但蠻重要。在機器學習領域中一些降維算法,很多都與施密特正交化方法有關。


正交矩陣


之前我們在介紹矩陣的時候,曾經說過,我們可以把一個矩陣看成是一個特定的向量組的結構。同樣,我們也可以把一個規范正交基向量組看成是一個矩陣,那么這個矩陣就稱為是正交矩陣

它擁有如下性質:

\[A^TA=I \]

其中I是單位矩陣,它的充要條件是矩陣A當中的每一列都是一個單位列向量,並且兩兩正交。

最后,我們看一下正交矩陣的性質。它的主要性質有三個:

  1. 如果A是正交矩陣,那么\(A^{-1}=A^T\),也是正交矩陣,並且\(|A|=\pm 1\)

  2. 如果A和B都是正交矩陣,並且它們階數一樣,那么AB也是正交矩陣。

  3. 如果A是正交矩陣,向量y經過A變換之后行列式保持不變。

這三個性質都很簡單,我們通過正交矩陣的性質基本上都可以直接推導得到,或者是非常直觀,和我們的直覺吻合。其實怎么推導不是重點,對於算法工程師而言,更重要的是理解這些概念的意思,並且將它與算法模型當中起到的功能聯系起來,這才是最重要的事情。

今天關於正交向量和矩陣的內容就到這里,如果覺得有所收獲,請順手點個關注或者轉發吧,你們的支持是我最大的動力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM