numpy.matmul() 函数
矩阵乘法在机器学习中非常重要,本文介绍numpy矩阵乘法
计算过程
(m,i)的矩阵 * (i,n)的矩阵 = (m,n)的矩阵
官方api文档:
https://numpy.org/devdocs/reference/generated/numpy.matmul.html?highlight=matmul#numpy.matmul
语法
numpy.matmul(x1,x2)
参数说明
- x1:类数组类型
- x2:类数组类型
返回值
ndarray
例子
import numpy as np
# 3行3列
a=[
[80,75,60],
[85,80,70],
[75,70,50],
]
# 3行1列
b=[
[0.2],
[0.3],
[0.5]
]
# 3行1列
c=np.matmul(a,b)
print(c)
print(c.shape)
执行结果如下:
[[68.5]
[76. ]
[61. ]]
(3, 1)
numpy.multiply()函数
数组 或 矩阵,对应位置相乘,输出与相乘数组/矩阵的大小一致
语法
numpy.multiply(x1,x2)
参数说明
- x1:类数组类型
- x2:类数组类型
返回值
ndarray
例子
a = np.array([[1, 2],[3, 4]])
b = np.array([[0, 1],[2, 3]])
np.multiply(a,b)
执行结果:
array([[ 0, 2],
[ 6, 12]])
numpy.dot()函数
dot()比较复杂,因为参数的不同可以实现等同于np.matmul() 或者 np.multiply()(数组乘法)的作用
语法
numpy.dot(x1,x2)
参数说明
乘号*
等同np.multiply()函数,对应位置相乘,不是矩阵相乘
import numpy as np
a=np.arange(0,6).reshape(3,2)
b=np.array([[1],[2],[3]])
print(a)
print('----')
print(b)
print('----')
d=a*b
print(d)
print("形状:",d.shape)
执行结果:
[[0 1]
[2 3]
[4 5]]
----
[[1]
[2]
[3]]
[[ 0 1]
[ 4 6]
[12 15]]
形状: (3, 2)

