吴恩达深度学习--向量化(vectorization)

  • 在深度学习领域,用for循环易造成效率低下,加速运算用vectorization向量化可以摆脱for循环。

  • 下面我们通过一个图来比较一下向量化和非向量化的区别
    吴恩达深度学习--向量化(vectorization)

  • 上图是m个样本的逻辑回归的向量化和非向量化,单单从代码量和简洁程度上来看,向量化做的要比非向量化好得多,而且在执行效率上向量化要更高。这一切都要归功于python中的numpy。

  • numPy系统是Python的一种开源的数值计算扩展,这种工具可用来存储和处理大型矩阵,由于numpy可以利用并行化技术直接进行矩阵运算,所以避免了for循环带来的效率低下。

  • np.dot(w.T,x)是w的转置、x两个矩阵相乘,只用这一句话就代替了m次的计算,np.sum(z)是将z中各个元素加起来,A-Y得到的是矩阵A和矩阵Y相减后的矩阵。