【Numpy基础】矩阵数组相乘

# 矩阵乘以数组
A = np.array([[1,2],[3,4],[5,6]])
A.shape # (3, 2)

B = np.array([7,8])
B.shape # (2,)
A.dot(B) # array([23, 53, 83])

【Numpy基础】矩阵数组相乘

B这个一维数组会被当成列向量使用。

反过来,一维数组在前,矩阵在后的情况如下:

【Numpy基础】矩阵数组相乘

X = np.array([1,2])
X.shape # (2,)

W = np.array([[1,3,5],[2,4,6]])
W.shape #(2,3)

np.dot(X,W) # array([ 5, 11, 17])

一维数组在前,会被当做行向量使用。

同时,这里很值得注意的是,用多维数组实现神经网络时,开头输入的是一个一维数组,进行一次计算后输出结果也是一个一维数组,只不过这个一维数组的大小和神经元的数量是一样的。那么,再往后推演,道理是一样的,相当于同样的过程一直向后。

即,再加一层,也相当于一个一维数组和它进行矩阵计算。

END.