這一篇文章和大家聊聊向量。
向量與平面
向量這個概念我們在高中就接觸到了,它既指一個點在空間中的坐標,也表示一個有向線段,如果我們加入復數概念的話,它還能表示一個數。在線性代數當中,向量就是指的n個有次序的數\(a_1, a_2, \cdots, a_n\)組成的數組。
向量可以寫成一行,也可以寫成一列。寫成一列的稱為列向量,例如:
寫成一行則是行向量:\(a^T=[a_1, a_2, \cdots, a_n]\),為了方便並且統一,在當前以及以后的文章當中,我們使用小寫字母來表示列向量,列向量的轉置表示行向量,例如\(a^T, b^T\)。既然向量可以表示點,點可以表示空間,那么自然向量也可以表示空間。所以我們可以把三維空間用向量表示:
既然我們可以用向量的集合表示空間,自然也可以用向量的集合來表示平面。表示平面的方式很簡單,就是在向量當中限制一些條件,只保留滿足條件的向量,比如三維空間當中的平面可以表示成:
同樣,我們可以拓展到多維空間當中,一個n維空間可以用向量表示成:
n維空間當中的平面可以表示成:
如上定義的平面稱為n維空間當中n-1維的超平面。因為超過3維的空間,我們很難想象出它的物理意義,所以稱為超平面。
向量組與線性表示
我們可以把若干個向量組合到一起,這樣的組合稱為向量組,其實就是矩陣。我們可以把一個m * n的矩陣,看成是n個m維的列向量組合而成的向量組。之前我們介紹的\(Ax=0\)的齊次線性方程組的解,當R(A) < n時,它是無限多個n維列向量的向量組。
有了向量組之后,我們看下一個概念。假設A是一個m個n維向量的向量組:\(a_1, a_2, \cdots, a_m\),b是另一個n維的向量。如果存在一組數:\(\lambda_1, \lambda_2, \cdots, \lambda_m\),使得:
那么,我們稱向量b能被向量組A線性表示。
這一點能夠成立,其實也就是方程組:\(x_1a_1+x_2a_2+ \cdots +x_ma_m=b\) 有解。如果我們將它展開,其實就是我們之前介紹的非齊次線性方程組。我們之前的文章當中已經證明過了,要使得該方程組有解,必須要滿足:R(A) = R(A, b),這樣,我們就把向量組和之前的線性方程組聯系起來了。
如果存在不全為0的數:\(k_1, k_2, \cdots, k_n\),使得:\(k_1a_1+k_2a_2+\cdots+k_na_n=0\)。那么則稱向量組A是線性相關的,否則是線性無關的。一般情況下,我們說線性無關或者線性相關,都是指n >= 2的情況。我們很容易看出,對於兩向量來說線性相關,其實就是指的兩向量成比例。如果是三個向量,則是三向量共面。
如果一個向量組A線性相關,我們假設\(a_1\)向量的系數k_1不為零,那么根據線性相關的定義,我們可以寫出:\(a_1 = \frac{-1}{k_1}(k2_a2+k_3a_3+\cdots+k_na_n)\)。也就是說\(a_1\)向量能夠被A組當中其他向量線性表示。反之,如果A組向量之中有一個向量能夠被其他向量線性表示,那么就說明A組向量線性相關。
我們再換一種理解方式,如果將A組向量\(A:a_1, a_2, \cdots, a_n\),看做是矩陣\(A=(a_1, a_2, \cdots, a_n)\),向量組A線性相關,就是齊次線性方程組\(Ax=0\)有非零解。我們之前介紹齊次線性方程組的時候曾經介紹過,齊次線性方程組要有非零解的條件是R(A) < n。如果R(A) = n,那么齊次線性方程組沒有非零解,也就是說向量組A線性無關。
這樣一來,我們就把上一篇文章當中介紹的線性方程組是否有解的問題串聯起來了。記不清楚的同學可以點擊下方鏈接回顧上篇文章:
到這里,我們關於向量組和線性相關的概念就差不多介紹完了。不過向量組當中還有一些很好用的性質,簡單列舉一下:
-
如果向量組\(A: a_1, a_2, \cdots, a_n\)線性相關,那么向量組\(B:a_1, a_2, \cdots, a_{n+1}\),也線性相關。反之,如果B線性無關,那么A也一定線性無關。
-
n個m維向量組成的向量組,當m 小於 n 時,一定線性相關。另外,n+1個n維向量一定線性相關。
-
如果向量組\(A:a_1, a_2, \cdots, a_n\)線性無關,向量組\(B:a_1, a_2, \cdots, a_m, b\)線性相關。那么向量b必然可以被向量組A線性表示,並且表示的方式唯一。
以上三個特性都很直觀,這里就不一一列舉了。
這里說的線性相關都是絕對的線性相關,但是在機器學習領域,由於數據之間存在誤差,所以我們很少使用絕對的線性相關。相反,我們會用向量之間的相似度來衡量向量之間的相關性。
在線性模型當中,我們會分析特征和預測結果的相關性,如果相關性不高,那么說明這個特征非常弱,或者效果很差,如果很強,則說明這個特征指導意義很高。我們也會分析特征之間的相關性,如果某兩個特征相關性很高,說明它們提供的信息差不多,對於模型來說其實提供了非常近似的信息,很可能並不會帶來正面助益,反而帶來誤差或者影響。這時候可以考慮去除多余的特征,或者使用一些降維算法,來降低特征的維度。
向量空間
最后,我們來簡單介紹一下向量空間。向量空間的定義很簡單,其實就是一個全體向量的集合。我們把全體n維向量組成的集合,稱作是n維向量空間。
假設V是一個向量空間,存在r個向量:\(a_1, a_2, \cdots, a_r \in V\),並且滿足一下條件:
- \(a_1, a_2, \cdots, a_r\)線性無關
- V中任一向量都可以用\(a_1, a_2, \cdots, a_r\)線性表示。
那么我們稱向量組\(a_1, a_2, \cdots, a_r\)為向量空間V的一個基,r稱為向量空間V的維數,並稱V為r維的向量空間。如果把向量空間V也看成是向量組,那么V的維數其實就是這個向量組的秩。
有了基的概念之后,我們就可以表示向量空間當中所有的向量。假設空間V的基是\(a_1, a_2, \cdots, a_r\),對於任一向量x,都有唯一的一個表示:
數組:\([\lambda_1,\lambda_2,\cdots, \lambda_r]\)就是向量x在基\(a_1, a_2, \cdots, a_r\)中的坐標。
對於n維向量空間\(R^n\),我們取它的單位坐標向量組:\(e_1, e_2, \cdots, e_n\),那么x就可以表示成:\(x=x_1e_1+x_2e_2+\cdots+x_ne_n\),其中的\(x_1, x_2,\cdots,x_n\)也就是x向量在各個維度上的分量,因此\(e_1, e_2,\cdots,e_n\)就稱為是空間\(R^n\)中的自然基。
今天的文章就是這些內容,如果覺得有所收獲,還請點個“關注”吧。