這一篇文章和大家聊聊向量。
向量這個概念我們在高中就接觸到了,它既指一個點在空間中的坐標,也表示一個有向線段,如果我們加入複數概念的話,它還能表示一個數。在線性代數當中,向量就是指的n個有次序的數組成的數組。
向量可以寫成一行,也可以寫成一列。寫成一列的稱為列向量,例如:
寫成一行則是行向量:,為了方便並且統一,在當前以及以後的文章當中,我們使用小寫字母來表示列向量,列向量的轉置表示行向量,例如。既然向量可以表示點,點可以表示空間,那麼自然向量也可以表示空間。所以我們可以把三維空間用向量表示:
既然我們可以用向量的集合表示空間,自然也可以用向量的集合來表示平面。表示平面的方式很簡單,就是在向量當中限制一些條件,只保留滿足條件的向量,比如三維空間當中的平面可以表示成:
同樣,我們可以拓展到多維空間當中,一個n維空間可以用向量表示成:
n維空間當中的平面可以表示成:
如上定義的平面稱為n維空間當中n-1維的超平面。因為超過3維的空間,我們很難想像出它的物理意義,所以稱為超平面。
我們可以把若干個向量組合到一起,這樣的組合稱為向量組,其實就是矩陣。我們可以把一個m * n的矩陣,看成是n個m維的列向量組合而成的向量組。之前我們介紹的
有了向量組之後,我們看下一個概念。假設A是一個m個n維向量的向量組:,b是另一個n維的向量。如果存在一組數:,使得:
這一點能夠成立,其實也就是方程組: 有解。如果我們將它展開,其實就是我們之前介紹的非齊次線性方程組。我們之前的文章當中已經證明過了,要使得該方程組有解,必須要滿足:R(A) = R(A, b),這樣,我們就把向量組和之前的線性方程組聯繫起來了。如果存在不全為0的數:,使得:。那麼則稱向量組A是線性相關的,否則是線性無關的。一般情況下,我們說線性無關或者線性相關,都是指n >= 2的情況。我們很容易看出,對於兩向量來說線性相關,其實就是指的兩向量成比例。如果是三個向量,則是三向量共面。如果一個向量組A線性相關,我們假設到這裡,我們關於向量組和線性相關的概念就差不多介紹完了。不過向量組當中還有一些很好用的性質,簡單列舉一下:
1. 如果向量組線性相關,那麼向量組,也線性相關。反之,如果B線性無關,那麼A也一定線性無關。
2. n個m維向量組成的向量組,當m 小於 n 時,一定線性相關。另外,n+1個n維向量一定線性相關。
3. 如果向量組線性無關,向量組線性相關。那麼向量b必然可以被向量組A線性表示,並且表示的方式唯一。
以上三個特性都很直觀,這裡就不一一證明了。
這裡說的線性相關都是絕對的線性相關,但是在機器學習領域,由於數據之間存在誤差,所以我們很少使用絕對的線性相關。相反,我們會用向量之間的相似度來衡量向量之間的相關性。
在線性模型當中,我們會分析特徵和預測結果的相關性,如果相關性不高,那麼說明這個特徵非常弱,或者效果很差,如果很強,則說明這個特徵指導意義很高。我們也會分析特徵之間的相關性,如果某兩個特徵相關性很高,說明它們提供的信息差不多,對於模型來說其實提供了非常近似的信息,很可能並不會帶來正面助益,反而帶來誤差或者影響。這時候可以考慮去除多餘的特徵,或者使用一些降維算法,來降低特徵的維度。
向量空間最後,我們來簡單介紹一下向量空間。向量空間的定義很簡單,其實就是一個全體向量的集合。我們把全體n維向量組成的集合,稱作是n維向量空間。
假設V是一個向量空間,存在r個向量:,並且滿足以下條件:1. 線性無關2. V中任一向量都可以用 線性表示。那麼我們稱向量組為向量空間V的一個基,r稱為向量空間V的維數,並稱V為r維的向量空間。如果把向量空間V也看成是向量組,那麼V的維數其實就是這個向量組的秩。有了基的概念之後,我們就可以表示向量空間當中所有的向量。假設空間V的基是,對於任一向量x,都有唯一的一個表示:數組就是向量x在基中的坐標。對於n維向量空間