天天看点

吴恩达深度学习 —— 2.12 向量化的更多例子

当你编写新的网络时,或者做的只是回归,一定要尽量避免for循环,能不用就不用。如果可以使用一个内置函数或者找出其它办法去计算循环,通常会比直接用for循环更快,来看另一个例子。

如果想计算一个向量u,作为一个矩阵A和另一个向量v的乘积。矩阵乘法的定义就是 u i = ∑ j A i j ∗ v j u_i=\sum_jA_{ij}*v_j ui​=∑j​Aij​∗vj​,令 u = n p . z e r o s ( n , 1 ) u=np.zeros(n,1) u=np.zeros(n,1),然后对i循环,对j循环,计算出u的值,这是一个非向量化的过程。

向量化的实现就是说 u = n p . d o t ( A , v ) u=np.dot(A,v) u=np.dot(A,v),类似的例子还有很多。我们看看怎么将向量化表示应用到逻辑回归中。

吴恩达深度学习 —— 2.12 向量化的更多例子

上图是逻辑回归导数的程序,有两个for循环,通过向量化的表示,可以去掉其中的第二个for循环。具体如下图所示。

吴恩达深度学习 —— 2.12 向量化的更多例子

继续阅读