我們今天一起來看正交向量和正交矩陣的概念,首先我們來複習一下向量相關。
這個基本上是中學當中數學課本上的概念,兩個向量的内積非常簡單,我們直接看公式回顧一下:
這裡X和Y都是n維的向量,兩個向量能夠計算内積的前提是兩個向量的維度一樣。從上面公式可以看出來,兩個向量的内積就等于兩個向量對應各個維度的分量的乘積的和。
為了和矩陣乘法以及普通的乘法做區分,我們通常把兩個向量的内積寫成:
這裡有一個很重要的性質,對于一個向量而言,我們可以用歐幾裡得公式計算它的長度。進一步,我們可以用向量的長度以及向量之間的夾角來表示向量的内積,如下:
其中的θ是x和y向量之間的夾角,對于三維及以下空間内的向量,這一點非常直觀。對于高維度的向量,我們很難想象它的物理意義。不過沒有關系,我們一樣可以認為向量之間存在一個廣義超空間内的一個夾角。在機器學習領域,我們通常用這個夾角來反應向量之間的相似度。兩個向量越相似,那麼它們之間的夾角應該越小,對應的cos餘弦值應該越大。所以我們可以用兩個向量之間的餘弦值來反應它們之間的相似度。餘弦值的計算就源于此。
從上面的公式可以看出來,向量的内積等于兩個向量長度乘上向量之間的夾角。對于非零向量而言,它們的長度都應該是大于0的。所以兩個向量的内積的大小,就完全取決于向量之間的夾角θ。
如果θ小于90°,那麼
,那麼内積為正值。如果θ大于90°,那麼餘弦值為負值。所以我們可以通過餘弦值正負判斷夾角是銳角還是鈍角。既然說到夾角,自然就離不開一種特殊情況——垂直。
如果是在二維平面當中,兩個向量夾角是90°,那麼顯然這兩個向量垂直。在高維空間當中也是一樣,不過我們一般不說垂直,而是會換一個詞——正交。兩個非零向量的内積為0,說明兩個向量正交。
搞清楚了正交向量之後,正交向量組也就明确了。正交向量組是指一組兩兩正交且非零的向量組。
如果n維的向量組:
兩兩正交,那麼,它們一定線性無關。也就是說不存在一組不為零的系數λ,使得:
我們把正交向量組的概念和基的概念融合,如果向量組
是向量空間V的一個基。如果它們之間彼此正交,那麼就稱它們是一組規範正交基。
對于向量a,我們可以很方便地求出它在規範正交基下各個維度的坐标:
也就是說向量a,在規範正交基下某一個維度的坐标, 等于它和整個維度的正交基向量的内積。
如果說我們已經知道向量空間V中的一組基是
,我們怎麼求V的規範正交基呢?
這裡要用到一個算法,叫做施密特算法。通過這個算法,我們可以通過向量空間的一組基來求出它的正交基。
這個算法很簡單,我們可以直接寫出它的公式:
我們随便取兩個b向量乘一下就知道,b向量組之中兩兩正交。所以,我們隻要将b向量組單位化一下,就可以求出對應的規範正交基了。
即:
這個算法雖然不難,但蠻重要。在機器學習領域中一些降維算法,很多都與施密特正交化方法有關。
之前我們在介紹矩陣的時候,曾經說過,我們可以把一個矩陣看成是一個特定的向量組的結構。同樣,我們也可以把一個規範正交基向量組看成是一個矩陣,那麼這個矩陣就稱為是正交矩陣。
它擁有如下性質:
其中I是單位矩陣,它的充要條件是矩陣A當中的每一列都是一個單位列向量,并且兩兩正交。
最後,我們看一下正交矩陣的性質。它的主要性質有三個:
1. 如果A是正交矩陣,那麼
,也是正交矩陣,并且
2. 如果A和B都是正交矩陣,并且它們階數一樣,那麼AB也是正交矩陣。
3. 如果A是正交矩陣,向量y經過A變換之後行列式保持不變。
這三個性質都很簡單,我們通過正交矩陣的性質基本上都可以直接推導得到,或者是非常直觀,和我們的直覺吻合。其實怎麼推導不是重點,對于算法工程師而言,更重要的是理解這些概念的意思,并且将它與算法模型當中起到的功能聯系起來,這才是最重要的事情。
今天關于正交向量和矩陣的内容就到這裡,希望大家學有收獲,如果喜歡本文, 請點個關注或者轉發支持作者吧~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!