人工智能必知必會-標量,向量,矩陣,張量

每天五分鐘,解決一個深度學習問題:

讓我們開始本系列的第一個小節: 標量,向量,矩陣,張量。
在整個機器學習中,你需要把數據交給計算機來處理,這就要求你把數據數字化,這樣才能運算。
這就要求你理解什麼是張量
誒?你的標題不是標量,向量,矩陣,張量嗎?爲啥你只要重點標出張量呢?ok,那你就帶着這樣的疑問開始閱讀吧!

深度學習中的數

在深度學習中的數,可以分爲以下幾類:
標量:2
向量:[13]\begin{bmatrix} 1 \\ {3} \\ \end{bmatrix}
矩陣:[1001]\begin{bmatrix} 1 & 0\\ 0 & 1 \\ \end{bmatrix}
我們爲了更好的記憶,可以把他們做一下物理意義的比較

標量

標量就是直線上的點。
標量

向量

向量就是平面上的一條線。
向量

矩陣

矩陣就是空間中的一個平面基(不知道什麼是基,你就把他理解成是座標系的x軸,y軸就可以了)。

矩陣

張量

在更高維度的空間中矩陣可以堆疊成一個體。 感覺就是這樣:
在這裏插入圖片描述

這樣是不是比較有感覺,在深度學習中,把他們統稱爲tensor,張量!張量!張量!張量!

標量就是1維度張量,向量是2維張量,平面是3維張量,以此類推可以到更高的維度。

你可以把矩陣想成是向量的堆疊。例如你把向量 [12]\begin{bmatrix} 1 \\ 2 \\ \end{bmatrix}[24]\begin{bmatrix} 2 \\ 4 \\ \end{bmatrix} 拼到一起就是矩陣[1224]\begin{bmatrix} 1 & 2 \\ 2 & 4 \\ \end{bmatrix}
矩陣由行和列組成,像剛纔的矩陣,行爲2,列爲2,他的形狀就記爲2X2。
記住,要使用tensor,先要搞清楚形狀,這是最重要的。


代碼實現

好了,你現在已經知道什麼張量了。
接下來,我們用python的numpy模塊,把標量,向量,矩陣,還有張量表示出來。


環境準備

環境準備可以看視頻

#導入模塊
import numpy as np

標量

#標量,這個沒啥要解釋的。
a = 1
a

輸出:

1

向量

#向量
v1 = np.array([1,3])
print("v1:",v1)
#注意觀察向量的形狀
print("v1 shape:", v1.shape)

輸出:

v1: [1 3]
v1 shape: (2,)

矩陣

#矩陣,看起來就是python中的list套list
m1 = np.array([[1,0],[0,1]])
print("m1:", m1)
print("m1 shape:", m1.shape)

輸出:

m1: [[1 0]
 [0 1]]
m1 shape: (2, 2)

張量

#矩陣,看起來就是python中的list套list
t1 = np.array([[[1,0],[0,1]],[[1,0],[0,1]]])
print("t1:", t1)
print("t1 shape:", t1.shape)

輸出:

t1: [[[1 0]
     [0 1]]

 [[1 0]
  [0 1]]]
t1 shape: (2, 2, 2)

恭喜你掌握了人工智能入門的第一個知識點。

如果你感覺很有趣,請點贊,關注,轉發!謝謝!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章