np.dot()函数用法
title: np.dot函数date: 2019-11-15 00:56:38categories:机器学习tags:机器学习np.dot()函数用法Numpy中dot()函数主要功能有两个:向量点积和矩阵乘法。格式:**x.dot(y) 等价于 np.dot(x,y) ———**x是mn 矩阵 ,y是nm矩阵,则x.dot(y) 得到m*m矩阵。向量点积...
·
title: np.dot函数
date: 2019-11-15 00:56:38
categories:
- 机器学习
tags: - 机器学习
np.dot()函数用法
-
Numpy中dot()函数主要功能有两个:向量点积和矩阵乘法。
格式:**x.dot(y) 等价于 np.dot(x,y) ———**x是mn 矩阵 ,y是nm矩阵,则x.dot(y) 得到m*m矩阵。
向量点积
-
如果处理的是一维数组,则得到的是两数组的內积
-
例子1:
import numpy as np x=np.array([0,1,2,3,4])#等价于:x=np.arange(0,5) y=x[::-1] print x print y print np.dot(x,y) 输出: [0 1 2 3 4] [4 3 2 1 0] 10 -
例子2:
import numpy as np x=np.arange(0,5) y=np.random.randint(0,10,5) print x print y print np.dot(x,y) 输出: [0 1 2 3 4] [5 1 0 9 2] 36
矩阵乘法
-
如果是二维数组(矩阵)之间的运算,则得到的是矩阵积
-
np.dot(x, y), 当x为二维矩阵,y为一维向量,这时y会转换一维矩阵进行计算
首先,我们来看一下一维向量和一位矩阵的不同
例子1:
import numpy as np x=np.arange(0,5) y=np.random.randint(0,10,size=(5,1)) print x print y print "x.shape:"+str(x.shape) print "y.shape"+str(y.shape) print np.dot(x,y) 输出: [0 1 2 3 4] [[3] [7] [2] [8] [1]] x.shape:(5,) y.shape(5, 1) [39]可以看出一维向量的shape是(5, ), 而一维矩阵的shape是(5, 1), 若两个参数x和y中有一个是矩阵时(包括一维矩阵),dot便进行矩阵乘法运算,同时若有个参数为向量,会自动转换为一维矩阵进行计算。
-
p.dot(x, y)中,x、y都是二维矩阵,进行矩阵积计算
例4:
import numpy as np x=np.arange(0,6).reshape(2,3) y=np.random.randint(0,10,size=(3,2)) print x print y print "x.shape:"+str(x.shape) print "y.shape"+str(y.shape) print np.dot(x,y) 输出: [[0 1 2] [3 4 5]] [[7 5] [0 7] [6 2]] x.shape:(2, 3) y.shape(3, 2) [[12 11] [51 53]]
更多推荐



所有评论(0)