算法工程師的數學基礎|線性代數中的向量和向量空間

新的系列文章開啓了,本系列文章主要是定位於【算法工程師的數學基礎】,將會從線性代數、微積分、數值優化、概率論、信息論五個方面進行介紹,感興趣的歡迎關注【搜索與推薦Wiki】公衆號,獲得最新文章。

《算法工程師的數學基礎》已更新:

  • 1、算法工程師的數學基礎|線性代數中的向量和向量空間

線性代數主要包含向量、向量空間(或稱線性空間)以及向量的線性變換和有限維的線性方程組。本篇文章主要介紹線性代數部分中的向量和向量空間。

向量和向量空間

向量

標量(Scalar)是一個實數,只有大小,沒有方向。而向量(Vector)是由一組實數組成的有序數組,同時具有大小和方向。

一個nn維向量aa是由nn個有序實數組成,表示爲:
a=[a1,a2,...,an] a=[a_1, a_2,...,a_n]
其中aia_i稱爲向量的第ii個分量,或者第ii維。向量符號一般用黑色小寫字母abca、b、c或者小寫字母αβγ\alpha、\beta、\gamma表示。

爲了書寫方便期見,本系列文章向量並沒有進行黑色加粗,但讀者也要進行區分。

向量空間

向量空間(Vector Space) 也稱爲線性空間(Linear Space),是指由向量組成的集合,並滿足以下的兩個條件:

  • 向量加法+:向量空間VV中的兩個向量aba、b,他們的和a+ba+b也屬於向量空間
  • 標量乘法\cdot:向量空間VV中的任一向量aa和任一標量cc,他們的乘積cac \cdot a也屬於向量空間

歐式空間(Euclidean Space) 是一個常用的線性空間,通常表示爲RnR^n,其中nn爲空間維度(Dimension)。歐式空間中向量加法和標量乘法定義爲:
[a1,a2,...,an]+[b1,b2,...,bn]=[a1+b1,a2+b2,...,an+bn]c[a1,a2,...,an]=[ca1,ca2,...,can] [a_1,a_2,...,a_n] + [b_1,b_2,...,b_n]=[a_1+b_1, a_2+b_2,...,a_n+b_n] \\ c[a_1,a_2,...,a_n] = [c\,a_1,c\,a_2,...,c\,a_n]
其中向量加法需要滿足兩個向量的維度必須一致。

線性子空間 向量空間VV的線性子空間UUVV的一個子集,並且滿足向量空間的兩個條件(向量加法和標量乘法)。

線性無關 線性空間VV中的一組向量{v1,v2,....,vn}\{ v_1, v_2, ...., v_n\},如果對任意的一組標量λ1,λ2,...,λn\lambda_1, \lambda_2, ..., \lambda_n,滿足λ1v1+λ2v2,...,λnvn=0\lambda_1\,v_1 + \lambda_2\,v_2, ..., \lambda_n\,v_n=0,則必然λ1=λ2=...=λn=0\lambda_1=\lambda_2=...=\lambda_n=0,那麼{v1,v2,...,vn}\{ v_1, v_2, ..., v_n\}是線性無關的,也稱爲線性獨立。

注意λ1v1+λ2v2,...,λnvn=0\lambda_1\,v_1 + \lambda_2\,v_2, ..., \lambda_n\,v_n=0 中 0 表示 nn維的0向量

線性相關性是線性代數的重要概念,因爲線性無關的一組向量可以生成一個向量空間,而這組向量則是這向量空間的基。

補充wiki上的線性相關性判斷:

  • 含有零向量的向量組,必定線性相關。若有向量組a1,a2,...,as{\displaystyle a_{1},a_{2},...,a_{s}},其中a1=0{\displaystyle a_{1}=0},則a1=0a2+...+0as{\displaystyle a_{1}=0\cdot a_{2}+...+0\cdot a_{s}}
  • 含有兩個相等向量的向量組,必定線性相關。若有向量組a1,a2,...,as{\displaystyle a_{1},a_{2},...,a_{s}},其中a1=a2{\displaystyle a_{1}=a_{2}},則a1=1a2+0a3+...+0as{\displaystyle a_{1}=1\cdot a_{2}+0\cdot a_{3}+...+0\cdot a_{s}}
  • 若一向量組相關,則加上任意個向量後,仍然線性相關;即局部線性相關,整體必線性相關。
  • 整體線性無關,局部必線性無關。
  • 向量個數大於向量維數,則此向量組線性相關。
  • 若一向量組線性無關,即使每一向量都在同一位置處增加一分量,仍然線性無關。
  • 若一向量組線性相關,即使每一向量都在同一位置處減去一分量,仍然線性相關。
  • a1,a2,...,as{\displaystyle a_{1},a_{2},...,a_{s}}線性無關,而b,a1,a2,...,as{\displaystyle b,a_{1},a_{2},...,a_{s}}線性相關,則b{\displaystyle b},b必可由a1,a2,...,as{\displaystyle a_{1},a_{2},...,a_{s}}線性表示,且表示係數唯一。
  • 有向量組I{a1,a2,...,as}{\displaystyle {\textrm {I}}\{a_{1},a_{2},...,a_{s}\}}II{b1,b2,...,bt}{\displaystyle {\textrm {II}}\{b_{1},b_{2},...,b_{t}\}},其中t>s{\displaystyle t>s},且II{\displaystyle {\textrm {II}}}中每個向量都可由I{\displaystyle {\textrm {I}}}線性表示,則向量組II{\displaystyle {\textrm {II}}}必線性相關。即向量個數多的向量組,若可被向量個數少的向量組線性表示,則向量個數多的向量組必線性相關。
  • 若一向量組b1,b2,...,bt{\displaystyle b_{1},b_{2},...,b_{t}}可由向量組a1,a2,...,as{\displaystyle a_{1},a_{2},...,a_{s}}線性表示,且b1,b2,...,bt{\displaystyle b_{1},b_{2},...,b_{t}}線性無關,則ts{\displaystyle t\leq s}。即線性無關的向量組,無法以向量個數較少的向量組線性表示。

基向量
向量空間VV的基(bases)B={e1,e2,e3,...,en}B=\{ e_1, e_2, e_3, ..., e_n\}VV的有限子集,其元素之間線性無關。向量空間VV所有的向量都可以按唯一的方式表達爲BB中向量的線性組合。對任意vVv\in V,存在一組標量(λ1,λ2,...,λn)(\lambda_1,\lambda_2,...,\lambda_n)使得:
v=λ1e1+λ2e2+...+λnen v = \lambda_1 \, e_1 + \lambda_2 \, e_2 + ... + \lambda_n \, e_n
其中基BB中的向量稱爲基向量(base vector)。如果基向量是有序的,則標量(λ1,λ2,...,λn)(\lambda_1,\lambda_2,...,\lambda_n)稱爲向量vv關於基BB的座標(coordinates)。

nn維空間VV的一組標準基(standard basis) 爲:
e1=[1,0,0,...,0]e2=[0,1,0,...,0]...en=[0,0,0,...,1] e_1 = [1,0,0,...,0] \\ e_2 = [0,1,0,...,0] \\ ... \\ e_n = [0,0,0,...,1]
VV中的任一向量v=[v1,v2,v3,..,vn]v=[v_1, v_2, v_3, .., v_n]可以唯一表示爲:
[v1,v2,v3,..,vn]=v1e1+v2e2+...vnen [v_1, v_2, v_3, .., v_n] = v_1\,e_1 + v_2\,e_2 + ... v_n\,e_n
v1,v2,v3,..,vnv_1, v_2, v_3, .., v_n 也稱爲向量vv的笛卡爾座標(Carterian coordinates)。

向量空間中的每個向量可以看作是一個線性空間中的笛卡兒座標。

內積 一個nn 維線性空間中的兩個向量a,ba,b,其內積爲:
<a,b>=i=1naibi <a,b> = \sum_{i=1}^{n} a_i\, b_i

正交 如果向量空間中兩個向量的內積爲0,則他們正交(orthogonal)。如果向量空間中一個向量vv與子空間UU中的每個向量都正交,那麼向量vv和子空間UU正交。

範數

範數(norm)是一個表示向量長度得函數,爲向量空間內得所有向量賦予非零得正長度或大小。對於一個nn維向量vv,一個常見得範數函數爲lpl_p範數

lp(v)=vp=(i=1nvip)1/p l_p(v) = \left \| v \right \|_p = (\sum_{i=1}^{n} |v_i|^p)^{1/p}
其中p0p\geq0爲一個標量的參數。常用的pp的取值有1,2,1,2,\infty等。

l1l_1範數 爲向量各個元素的絕對值之和。

v1=i=1nvi \left \| v \right \|_1 = \sum_{i=1}^{n} |v_i|

l2l_2範數 爲向量各個元素的平方和再開方
v2=i=1nvi2=vTv \left \| v \right \|_2 =\sqrt{\sum_{i=1}^{n} v_i^2} = \sqrt{v^Tv}
l2l_2範數又稱爲Euclidean範數或者Frobenius。從幾何角度,向量也可以表示爲從原點出發的一個帶箭頭的有向線段,其l2l_2範數爲線段的長度,也常稱爲向量的模。

ll_{\infty}範數 爲向量各個元素的最大絕對值。
v=max{v1,v2,...,vn} \left \| v \right \|_{\infty}=max\{v_1, v_2, ..., v_n\}

下圖給出了常見的不同範數示例。
常見的不同範數示例

常見的向量

全0向量 指所有元素都爲0的向量,用0表示。全0向量爲笛卡爾座標系中的原點。

全1向量 指所有元素都爲1的向量,用1表示。

one-hot向量 爲有且已有一個元素爲1,其餘元素都爲0的向量。


下一篇文章將會詳細介紹線性代數中的矩陣相關的知識,敬請期待!


掃一掃 關注微信公衆號!號主 專注於搜索和推薦系統,嘗試使用算法去更好的服務於用戶,包括但不侷限於機器學習,深度學習,強化學習,自然語言理解,知識圖譜,還不定時分享技術,資料,思考等文章!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章