人工智慧基礎從數學基礎開始,必備的數學知識是理解人工智慧不可或缺的要素,今天的種種人工智慧技術歸根到底都建立在數學模型之上,而這些數學模型又都離不開線性代數的理論框架
事實上,線性代數不僅僅是人工智慧的基礎,更是現代數學和以現代數學作為主要分析方法的眾多學科的基礎,從量子力學到圖像處理都離不開向量和矩陣的使用,而在向量和矩陣背後,線性代數的核心意義在於提供了⼀種看待世界的抽象視角:萬事萬物都可以被抽象成某些特徵的組合,並在由預置規則定義的框架之下以靜態和動態的方式加以觀察
線性代數中最基本的概念是集合,在數學上,集合的定義是由某些特定對象匯總而成的集體,集合中的元素通常會具有某些共性,因而可以用這些共性來表示,對於集合 { 蘋果,橘子,梨 } 來說, 所有元素的共性是它們都是水果;對於集合 {牛,馬,羊} 來說,所有元素的共性是它們都是動物,當然 { 蘋果,牛 } 也可以構成一個集合,但這兩個元素並沒有明顯的共性,這樣的集合在解決實際問題中的作用也就相當有限
「蘋果」或是「牛」這樣的具體概念顯然超出了數學的處理範圍,因而集合的元素需要進行進一步的抽象——用數字或符號來表示,如此一來,集合的元素既可以是單個的數字或符號,也可以是多個數字或符號以某種方式排列形成的組合
在線性代數中,由單獨的數 a 構成的元素被稱為標量:一個標量 a 可以是整數、實數或複數,如果多個標量 a1,a2,…,an 按一定順序組成一個序列,這樣的元素就被稱為向量,顯然,向量可以看作標量的擴展,原始的一個數被替代為一組數,從而帶來了維度的增加,給定表示索引的下標才能唯一地確定向量中的元素
每個向量都由若干標量構成,如果將向量的所有標量都替換成相同規格的向量,得到的就是如下的矩陣:
線性代數中最基本的概念是集合,在數學上,集合的定義是由某些特定對象匯總而成的集體,集合中的元素通常會具有某些共性,因而可以用這些共性來表示,對於集合 { 蘋果,橘子,梨 } 來說, 所有元素的共性是它們都是水果;對於集合 {牛,馬,羊} 來說,所有元素的共性是它們都是動物,當然 { 蘋果,牛 } 也可以構成一個集合,但這兩個元素並沒有明顯的共性,這樣的集合在解決實際問題中的作用也就相當有限
「蘋果」或是「牛」這樣的具體概念顯然超出了數學的處理範圍,因而集合的元素需要進行進一步的抽象——用數字或符號來表示,如此一來,集合的元素既可以是單個的數字或符號,也可以是多個數字或符號以某種方式排列形成的組合
在線性代數中,由單獨的數 a 構成的元素被稱為標量:一個標量 a 可以是整數、實數或複數,如果多個標量 a1,a2,…,an 按一定順序組成一個序列,這樣的元素就被稱為向量,顯然,向量可以看作標量的擴展,原始的一個數被替代為一組數,從而帶來了維度的增加,給定表示索引的下標才能唯一地確定向量中的元素
每個向量都由若干標量構成,如果將向量的所有標量都替換成相同規格的向量,得到的就是如下的矩陣:
相對於向量,矩陣同樣代表了維度的增加,矩陣中的每個元素需要使用兩個索引(而非一個)確定,同理,如果將矩陣中的每個標量元素再替換為向量的話,得到的就是張量,直觀地理解,張量就是高階的矩陣
如果把三階魔方的每一個小方塊看作一個數,它就是個 3×3×3 的張量,3×3 的矩陣則恰是這個魔方的一個面,也就是張量的一個切片,相比於向量和矩陣,張量是更加複雜,直觀性也更差的概念
向量和矩陣不只是理論上的分析工具,也是計算機工作的基礎條件,人類能夠感知連續變化的大千世界,可計算機只能處理離散取值的二進制信息,因而來自模擬世界的信號必須在定義域和值域上同時進行數字化,才能被計算機存儲和處理,從這個角度看,線性代數是用虛擬數字世界表示真實物理世界的工具
在計算機存儲中,標量佔據的是零維數組;向量佔據的是一維數組,例如語音信號;矩陣佔據的是二維數組,例如灰度圖像;張量佔據的是三維乃至更高維度的數組,例如 RGB 圖像和視頻
描述作為數學對象的向量需要有特定的數學語言,範數和內積就是代表,範數是對單個向量大小的度量,描述的是向量自身的性質,其作用是將向量映射為一個非負的數值,通用的 Lp 範數定義如下:
如果把三階魔方的每一個小方塊看作一個數,它就是個 3×3×3 的張量,3×3 的矩陣則恰是這個魔方的一個面,也就是張量的一個切片,相比於向量和矩陣,張量是更加複雜,直觀性也更差的概念
向量和矩陣不只是理論上的分析工具,也是計算機工作的基礎條件,人類能夠感知連續變化的大千世界,可計算機只能處理離散取值的二進制信息,因而來自模擬世界的信號必須在定義域和值域上同時進行數字化,才能被計算機存儲和處理,從這個角度看,線性代數是用虛擬數字世界表示真實物理世界的工具
在計算機存儲中,標量佔據的是零維數組;向量佔據的是一維數組,例如語音信號;矩陣佔據的是二維數組,例如灰度圖像;張量佔據的是三維乃至更高維度的數組,例如 RGB 圖像和視頻
描述作為數學對象的向量需要有特定的數學語言,範數和內積就是代表,範數是對單個向量大小的度量,描述的是向量自身的性質,其作用是將向量映射為一個非負的數值,通用的 Lp 範數定義如下:
對⼀個給定向量,L1 範數計算的是向量所有元素絕對值的和,L2 範數計算的是通常意義上的向量長度,L∞ 範數計算的則是向量中最大元素的取值
範數計算的是單個向量的尺度,內積計算的則是兩個向量之間的關係,兩個相同維數向量內積的表達式為:
即對應元素乘積的求和,內積能夠表示兩個向量之間的相對位置,即向量之間的夾角,一種特殊的情況是內積為 0,即 (x, y) = 0 ,在二維空間上,這意味著兩個向量的夾角為 90 度,即相互垂直,而在高維空間上,這種關係被稱為正交,如果兩個向量正交,說明他們線性無關,相互獨立,互不影響
在實際問題中,向量的意義不僅是某些數字的組合,更可能是某些對象或某些行為的特徵,範數和內積能夠處理這些表示特徵的數學模型,進而提取出原始對象或原始行為中的隱含關係
如果有一個集合,它的元素都是具有相同維數的向量(可以是有限個或無限個), 並且定義了加法和數乘等結構化的運算,這樣的集合就被稱為線性空間,定義了內積運算的線性空間則被稱為內積空間,在線性空間中,任意一個向量代表的都是 n 維空間中的一個點;反過來, 空間中的任意點也都可以唯一地用一個向量表示,兩者相互等效
在線性空間上點和向量的相互映射中,一個關鍵問題是參考系的選取,在現實生活中,只要給定經度、緯度和海拔高度,就可以唯一地確定地球上的任何一個位置,因而經度值、緯度值、高度值構成的三維向量 (x, y, h) 就對應了三維物理空間中的⼀個點
可是在直覺無法感受的高維空間中,坐標系的定義可就沒有這麼直觀了,要知道,人工神經網絡要處理的通常是數以萬計的特徵,對應著維度同樣數以萬計的複雜空間,這時就需要正交基的概念了
在內積空間中,一組兩兩正交的向量構成這個空間的正交基,假若正交基中基向量的 L2 範數都是單位長度 1,這組正交基就是標準正交基,正交基的作用就是給內積空間定義出經緯度,⼀旦描述內積空間的正交基確定了,向量和點之間的對應關係也就隨之確定
值得注意的是,描述內積空間的正交基並不唯一,對二維空間來說,平面直角坐標系和極坐標系就對應了兩組不同的正交基,也代表了兩種實用的描述方式
線性空間的一個重要特徵是能夠承載變化,當作為參考系的標準正交基確定後,空間中的點就可以用向量表示,當這個點從一個位置移動到另一個位置時,描述它的向量也會發生改變,點的變化對應著向量的線性變換,而描述對象變化抑或向量變換的數學語言,正是矩陣
在線性空間中,變化的實現有兩種方式:一是點本身的變化,二是參考系的變化,在第一種方式中,使某個點發生變化的方法是用代表變化的矩陣乘以代表對象的向量,可是反過來,如果保持點不變,而是換一種觀察的角度,得到的也將是不同的結果,正所謂「橫看成嶺側成峰,遠近高低各不同」
在這種情況下,矩陣的作用就是對正交基進行變換,因此,對於矩陣和向量的相乘,就存在不同的解讀方式:
這個表達式既可以理解為向量 x 經過矩陣 A 所描述的變換,變成了向量 y;也可以理解為一個對象在坐標系 A 的度量下得到的結果為向量 x,在標準坐標系 I(單位矩陣:主對角線元素為 1,其餘元素為 0)的度量下得到的結果為向量 y
這表示矩陣不僅能夠描述變化,也可以描述參考系本身,引用網絡上一個精當的類比:表達式 Ax 就相當於對向量 x 做了一個環境聲明,用於度量它的參考系是 A ,如果想用其他的參考系做度量的話,就要重新聲明,而對坐標系施加變換的方法,就是讓表示原始坐標系的矩陣與表示變換的矩陣相乘
描述矩陣的⼀對重要參數是特徵值和特徵向量,對於給定的矩陣 A,假設其特徵值為λ,特徵向量為 x,則它們之間的關係如下:
正如前文所述,矩陣代表了向量的變換,其效果通常是對原始向量同時施加方向變化和尺度變化,可對於有些特殊的向量,矩陣的作用只有尺度變化而沒有方向變化,也就是只有伸縮的效果而沒有旋轉的效果,對於給定的矩陣來說,這類特殊的向量就是矩陣的特徵向量,特徵向量的尺度變化系數就是特徵值
矩陣特徵值和特徵向量的動態意義在於表示了變化的速度和方向,如果把矩陣所代表的變化看作奔跑的人,那麼矩陣的特徵值就代表了他奔跑的速度,特徵向量代表了他奔跑的方向,但矩陣可不是普通人,它是三頭六臂的哪吒,他的不同分身以不同速度(特徵值)在不同方向(特徵向量)上奔跑,所有分身的運動疊加在⼀起才是矩陣的效果
求解給定矩陣的特徵值和特徵向量的過程叫做特徵值分解,但能夠進行特徵值分解的矩陣必須是 n 維方陣,將特徵值分解算法推廣到所有矩陣之上,就是更加通用的奇異值分解
人工智慧必備的線性代數基礎,著重於抽象概念的解釋而非具體的數學公式,其要點如下:
● 線性代數的本質在於將具體事物抽象為數學對象,並描述其靜態和動態的特性
● 向量的實質是 n 維線性空間中的靜止點
● 線性變換描述了向量或者作為參考系的坐標系的變化,可以用矩陣表示
● 矩陣的特徵值和特徵向量描述了變化的速度與方向
● 線性代數之於人工智慧如同加法之於高等數學
0 意見:
張貼留言