必備的數學知識是理解人工智慧不可或缺的要素,所有的人工智慧技術歸根到底都建立在數學模型之上,而這些數學模型又都離不開線性代數(linear algebra)的理論框架。
線性代數不僅僅是人工智慧的基礎,更是現代數學和以現代數學作為主要分析方法的眾多學科的基礎。從量子力學到影象處理都離不開向量和矩陣的使用。而在向量和矩陣背後,線性代數的核心意義在於提供了⼀種看待世界的抽象視角:萬事萬物都可以被抽象成某些特徵的組合,並在由預置規則定義的框架之下以靜態和動態的方式加以觀察。
線性代數中最基本的概念是集合(set)。在數學上,集合的定義是由某些特定物件彙總而成的集體。集合中的元素通常會具有某些共性,因而可以用這些共性來表示。對於集合 來說, 所有元素的共性是它們都是水果;對於集合 來說,所有元素的共性是它們都是動物。當然 也可以構成乙個集合,但這兩個元素並沒有明顯的共性,這樣的集合在解決實際問題中的作用也就相當有限。
「 香蕉」或是「羊」這樣的具體概念顯然超出了數學的處理範圍,因而集合的元素需要進行進一步的抽象,用數字或符號來表示。如此一來,集合的元素既可以是單個的數字或符號,也可以是多個數字或符號以某種方式排列形成的組合。aa
按一定順序組成乙個序列,這樣的元素就被稱為向量(vector)。顯然,向量可以看作標量的擴充套件。原始的乙個數被替代為一組數,從而帶來了維度的增加,給定表示索引的下標才能唯一地確定向量中的元素。
每個向量都由若干標量構成,如果將向量的所有標量都替換成相同規格的向量,得到的就是如下的矩陣(matrix): ⎡⎣
⎢a11a
21a31a
12a22a
32a13a
23a33⎤
⎦⎥[a11a12a13a21a22a23a31a32a33]
相對於向量,矩陣同樣代表了維度的增加,矩陣中的每個元素需要使用兩個索引確定。同理,如果將矩陣中的每個標量元素再替換為向量的話,得到的就是張量(tensor)。直觀地理解,張量就是高階的矩陣。
如果把三階魔方的每乙個小方塊看作乙個數,它就是個3×
3×33×3×3
的矩陣則恰是這個魔方的乙個面,也就是張量的乙個切片。相比於向量和矩陣,張量是更加複雜,直觀性也更差的概念。
向量和矩陣不只是理論上的分析工具,也是計算機工作的基礎條件。人類能夠感知連續變化的世界,可計算機只能處理離散取值的二進位制資訊,因而來自模擬世界的訊號必須在定義域和值域上同時進行數位化,才能被計算機儲存和處理。從這個角度看,線性代數是用虛擬數字世界表示真實物理世界的工具。
描述作為數學物件的向量需要有特定的數學語言,範數和內積就是代表。範數(norm)是對單個向量大小的度量,描述的是向量自身的性質,其作用是將向量對映為乙個非負的數值。通用的 lp
lp對⼀個給定向量,l1
l1 範數計算的則是向量中最大元素的取值。
範數計算的是單個向量的尺度,內積(inner product)計算的則是兩個向量之間的關係。兩個相同維數向量內積的表示式為: ⟨x
,y⟩=
∑ixi
.yi⟨x,y⟩=∑ixi.yi
即對應元素乘積的求和。內積能夠表示兩個向量之間的相對位置,即向量之間的夾角。一種特殊的情況是內積為 0,即 ⟨x
,y⟩=
0⟨x,y⟩=0
。在二維空間上,這意味著兩個向量的夾角為 90 度,即相互垂直。而在高維空間上,這種關係被稱為正交(orthogonality)。如果兩個向量正交,說明他們線性無關,相互獨立,互不影響。
在實際問題中,向量的意義不僅是某些數字的組合,更可能是某些物件或某些行為的特徵。範數和內積能夠處理這些表示特徵的數學模型,進而提取出原始物件或原始行為中的隱含關係。
人工神經網路要處理的通常是數以萬計的特徵,對應著維度同樣數以萬計的複雜空間,這時就需要正交基的概念了。
在內積空間中,一組兩兩正交的向量構成這個空間的正交基(orthogonal basis),假若正交基中基向量的 l2 範數都是單位長度 1,這組正交基就是標準正交基(orthonormal basis)。正交基的作用就是給內積空間定義出經緯度。⼀旦描述內積空間的正交基確定了,向量和點之間的對應關係也就隨之確定。
需要注意的是,描述內積空間的正交基並不唯一。對二維空間來說,平面直角座標系和極座標系就對應了兩組不同的正交基,也代表了兩種實用的描述方式。
線性空間的乙個重要特徵是能夠承載變化。當作為參考係的標準正交基確定後,空間中的點就可以用向量表示。當這個點從乙個位置移動到另乙個位置時,描述它的向量也會發生改變。點的變化對應著向量的線性變換(linear transformation),而描述物件變化抑或向量變換的數學語言,正是矩陣。
在這種情況下,矩陣的作用就是對正交基進行變換。因此,對於矩陣和向量的相乘,就存在不同意義: ax
=yax=y
這個表示式既可以理解為向量 x 經過矩陣 a 所描述的變換,變成了向量 yy
(單位矩陣:主對角線元素為 1,其餘元素為 0)的度量下得到的結果為向量 y。
這表示矩陣不僅能夠描述變化,也可以描述參考係本身。表示式 ax
ax。如果想用其他的參考係做度量的話,就要重新宣告。而對座標系施加變換的方法,就是讓表示原始座標系的矩陣與表示變換的矩陣相乘。
描述矩陣的⼀對重要引數是特徵值(eigenvalue)和特徵向量(eigenvector)。對於給定的矩陣aa
矩陣代表了向量的變換,其效果通常是對原始向量同時施加方向變化和尺度變化。可對於有些特殊的向量,矩陣的作用只有尺度變化而沒有方向變化,也就是只有伸縮的效果而沒有旋轉的效果。對於給定的矩陣來說,這類特殊的向量就是矩陣的特徵向量,特徵向量的尺度變化係數就是特徵值。
矩陣特徵值和特徵向量的動態意義在於表示了變化的速度和方向。
求解給定矩陣的特徵值和特徵向量的過程叫做特徵值分解,但能夠進行特徵值分解的矩陣必須是 n 維方陣。將特徵值分解演算法推廣到所有矩陣之上,就是更加通用的奇異值分解。
人工智慧數學基礎 線性代數
必備的數學知識是理解人工智慧不可或缺的要素,所有的人工智慧技術歸根到底都建立在數學模型之上,而這些數學模型又都離不開線性代數 linear algebra 的理論框架。線性代數不僅僅是人工智慧的基礎,更是現代數學和以現代數學作為主要分析方法的眾多學科的基礎。從量子力學到影象處理都離不開向量和矩陣的使...
人工智慧入門 01線性代數
必懂線性代數概念 集合 由某些特定物件彙總而成的集體。標量 由單獨的數a構成的元素被稱為標量 scalar 向量 如果多個標量按照一定順序組成乙個序列,這樣的元素就被稱為向量 vector 矩陣 每個向量都由若干個標量構成,如果將向量的所有標量都替換成相同規格的向量,得到的就是矩陣。張量 如果將矩陣...
數學基礎 線性代數
1 矩陣正定性的判斷,hessian 矩陣正定性在梯度下降中的應用 若矩陣所有特徵值均不小於0,則判定為半正定,若矩陣所有特徵值均大於0,則判定為正定,在判斷優化演算法的可行性時hessian 矩陣的正定性起了很大的作用,若hessian 正定,則函式的二階偏導恆大於0,函式的變化率處於遞增狀態,在...