采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,点乘的结果应该是一个标量吧?
但设有
a = np.array([[1,2],[3,4]]) b = np.array([[1,2],[3,4]]) a.dot(b) >>> array([[7,10],[15,22]])
那就是说dot应该就是矩阵乘法而不是矩阵点乘啊,我的理解对吗?
你理解的对。
dot就是点乘,本质就是矩阵乘法。两个向量(1*n和n*1)之间的点乘结果,可以看做一个1*n和一个n*1的矩阵的乘法,结果为一个数。
更迷糊了。。。我举的例子中矩阵a与b的点乘结果应该是1*1+2*2+3*3+4*4 = 30,但np.dot(a,b)却是array([[7,10],[15,22]])。那究竟哪个算点乘还是两个都算。。。
“点乘”这个说法是定义在向量上的,严格来说没有矩阵的点乘,只有矩阵的乘法。
原来如此,那课程中的“矩阵X_b的转置点乘矩阵X_b”可以理解为“矩阵X_b的转置与矩阵X_b相乘”对吗?
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14