在學習線性代數或是深度學習的數學運算時,經常需要對高維度的向量、矩陣進行運算。我們都知道純量 (Scalar) 屬於 0 維、向量 (Vector) 屬於 1 維、矩陣 (Matrix) 屬於 2 維度,超過 3 維就統稱為張量 (Tensor)。(當然 Scalar、Vector 與 Matrix 也都可以視為 Tensor)
然而,如果有一個 Vector 包含 5 個數字,例如:[1, 2, 3, 4, 5],我們又會稱這一個 Vector 是一個 5 維的向量。
Vector 究竟是 1 維還是 N 維呢?讓我們繼續看下去!
首先,我們需要先釐清純量 (Scalar)、向量 (Vector)、矩陣 (Matrix) 與張量 (Tensor)的觀念。
如上圖所示,Scalar 通常就是指一個數字 (Single Value),它的 shape 中沒有任何元素,也就是沒有任何「軸」(Axes),也可以稱其為 Rank-0 的 Tensor。Vector 指的是一個序列的數字 (List of Values),它的 shape 中有一個元素,也就是其具有一個軸,也可以稱其為 Rank-1 的 Tensor。Matrix 則是由兩個軸的元素所組成,因此 shape 中有兩個元素,也可以稱其為 Rank-2 的 Tensor。
當軸數來到 3 個以上時,我們就通稱為 Tensor,此時的 shape 中有 3 個元素,也可以稱其為 Rank-3 的 Tensor。
由此可知,當我們說 Scalar 是 0-Dimension、Vector 是 1-Dimension、Matrix 是 2-Dimension 時,這裡的 Dimension 指的是「軸」的數量。
然而,如果我們只聚焦在 Vector 上,當我們在描述 Vector 的 Dimension 時,其實是在描述他所處的「向量空間」(Vector Space)。舉例來說:
由此可知,Dimension 有兩種意義:
在本篇文章,我們簡單介紹純量 (Scalar)、向量 (Vector)、矩陣 (Matrix) 與張量 (Tensor) 的概念,並說明維度 (Dimension) 的兩種意義。