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

我們今天一起來看正交向量和正交矩陣的概念,首先我們來複習一下向量相關。


向量內積


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


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


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

為了和矩陣乘法以及普通的乘法做區分,我們通常把兩個向量的內積寫成:


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


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


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


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


正交向量


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


如果θ小於90°,那麼

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

,那麼內積為正值。如果θ大於90°,那麼餘弦值為負值。所以我們可以通過餘弦值正負判斷夾角是銳角還是鈍角。既然說到夾角,自然就離不開一種特殊情況——垂直


如果是在二維平面當中,兩個向量夾角是90°,那麼顯然這兩個向量垂直。在高維空間當中也是一樣,不過我們一般不說垂直,而是會換一個詞——

正交。兩個非零向量的內積為0,說明兩個向量正交。


正交向量組


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


如果n維的向量組:

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

兩兩正交,那麼,它們一定線性無關。也就是說不存在一組不為零的係數λ,使得:


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


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


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

由於a1不為0,那麼必然不為0,要使得等式成立,只能是λ1為0。



規範正交基


我們把正交向量組的概念和基的概念融合,如果向量組

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

是向量空間V的一個基。如果它們之間彼此正交,那麼就稱它們是一組規範正交基


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


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


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


如果說我們已經知道向量空間V中的一組基是

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

,我們怎麼求V的規範正交基呢?


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


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


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


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


即:


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


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


正交矩陣


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


它擁有如下性質:


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


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


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


1. 如果A是正交矩陣,那麼

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

,也是正交矩陣,並且

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


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

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


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


今天關於正交向量和矩陣的內容就到這裡,希望大家學有收穫,如果喜歡本文, 請點個關注或者轉發支持作者吧~


分享到:


相關文章: