1. 程式人生 > >8.1 標量、向量、矩陣和張量

8.1 標量、向量、矩陣和張量

  線性代數作為數學的一個分支,廣泛用於科學和工程中,掌握好線性代數對於理解和從事機器學習演算法相關工作是很有必要的。因此,本書首先探討一些必備的線性代數知識。學習線性代數,會涉及以下幾類數學概念:

8.1.1 標量(scalar)

  一個標量就是一個單獨的數,它不同於線性代數中研究的其他大部分物件(通常是多個數的陣列)。我們用斜體表示標量。標量通常被賦予小寫的變數名稱。當我們介紹標量時,會明確它們是哪種型別的數。比如在定義實數標量時,我們可能會說“令sR表示一條線的斜率”;在定義自然數標量時,我們可能會說“令nN表示元素的數目”。

8.1.2 向量(vector)

  一個向量是一列數。這些數是有序排列的。通過次序中的索引,我們可以確定每個單獨的數。通常我們賦予向量粗體的小寫變數名稱,比如x

。向量中的元素可以通過帶腳標的斜體表示。向量x的第一個元素是x1,第二個元素是x2,等等。我們也會註明儲存在向量中的元素是什麼型別的。如果每個元素都屬於R,並且該向量有n個元素,那麼該向量屬於實數集Rn次笛卡爾乘積構成的集合,記為Rn。當我們需要明確表示向量中的元素時,我們會將元素排列成一個方括號包圍的縱列:

x1x2xn(8.1)
  我們可以把向量看作空間中的點,每個元素時不同座標軸上的座標。
  有時我們需要索引向量中的一些元素。在這種情況下,我們定義一個包含這些元素索引的集合,然後將該集合寫在腳標處。比如,指定x1x3x6,我們定義集合S={1,3,6
}
,然後寫作xs。我們用符號表示集合的補集中的索引。比如x1表示x中除x1外的所有元素,xs表示x中除x1,x3,x6外所有元素構成的向量。

8.1.3 矩陣(matrix)

  矩陣是具有相同特徵和緯度的物件的集合,表現為一張二維資料表。其意義是一個物件表示為矩陣中的一行,一個特徵表示為矩陣中的一列,每個特徵都有數值型的取值。
  通常會賦予矩陣粗體的大寫變數名稱,比如A。如果一個實數矩陣高度為m,寬度為n,那麼定義ARm×n
  我們在表示矩陣中的元素時,通常以不加粗的斜體形式使用其名稱,索引用逗號間隔。比如,A1,1表示左上的元素,Am,n表示右下的元素。
  我們通過用“:

”表示水平座標,以表示垂直座標i中的所有元素。比如,Ai,:表示A中垂直座標i上的一橫排元素,這也被稱為A的第i行(row)。同樣地,A:,j表示A的第j列(column)。當需要明確表示矩陣中的元素時,可以將它們寫在方括號包圍起來的陣列中:

[A1,1A2,1A1,2A2,2](8.2)
  有時我們需要矩陣值表示式的索引,而不是單個元素。在這種情況下,我們在表示式後面接下標,但不必將矩陣的變數名稱小寫化。比如,f(A)i,j表示函式f作用在A上輸出的矩陣的第i行第j列元素。

8.1.4 張量(tensor)

  在某些情況下,我們會討論座標超過兩維的陣列。一般地,一個數組中的元素分佈在若干維座標的規則網格中,我們將其稱之為張量。使用粗體A來表示張量“A”。張量A中座標為(i,j,k)的元素記作Ai,j,k