最近闲下来的时间在看吴恩达的深度学习那个课程,才看到第二周的课程,哎,玩儿心太大了,有空儿老是想着看电视剧了,有毒。。。
第二周的编程作业里面有Python-numpy的简单实用介绍连续,其中有讲到numpy.dot()这个方法,有组数据算出来我有点懵逼,这个函数的作用就是做矩阵的乘法运算,高数本来就没怎么好好学,又忘得差不多了,难受难受,代码如下:
import numpy as np
a = np.array([[1, 2],
[2, 3],
[3, 4]])
b = np.array([5, 6])
print a.shape
print b.shape
print np.dot(a, b)
Output:
(3, 2)
(2,)
[17 28 39]
懵逼了,完全不知道这个是咋算出来的,只记得矩阵乘以向量会得到一个向量,但是算的过程忘了,百度百科之,结果只说了矩阵乘以矩阵,没说矩阵乘以向量,噗。。。
最后把代码改成:
import numpy as np
a = np.array([[1, 1],
[1, 1]])
b = np.array([5, 6])
print a.shape
print b.shape
print np.dot(a, b)
Output:
(2, 2)
(2,)
[11 11]
才搞明白,原来算的过程是:
[[1, 2], [[1 * 5 + 2 * 6], [17,
[2, 3], * [5, 6] = [2 * 3 + 3 * 6], = 28,
[3, 4]] [3 * 5 + 4 * 6]] 39]