我有个问题要理解numpy中的矩阵乘法。 例如,我有以下矩阵(2d numpy数组):
a = [ [ 1. 1. ]
[ 1. 2. ]
[ 1. 3. ] ]
和下面的行向量θ:
^{pr2}$用θ乘以a的唯一方法是变换 首先在列向量中求θ,然后得到结果:
result = [ [ 2. ]
[ 3. ]
[ 4. ] ]
当我把矩阵和行向量相乘时(没有变换)
result = np.dot(a,theta)
我明白了:
result = [ 2. 3. 4. ]
这怎么可能?我的意思是,我没有转换矩阵。 你能告诉我这个纽比乘法是怎么工作的吗? 谢谢你的关注。在
不,你是在把numpy数组和另一个numpy数组相乘(不是一个有向量的矩阵),尽管看起来像这样。这是因为,本质上,numpy数组与矩阵不同。而点积也是这样处理的。在
如果你写出数组并乘上,你就会明白为什么。它只是数组
'a'
中每一行与向量'theta'
的点乘(元素相乘)。在注:(矩阵是二维的,而数组不受任何维度的限制)
另外,请看一下this answer和{a2}
相关问题 更多 >
编程相关推荐