向量化通常是消除代码中显式for循环语句的艺术,在深度学习安全领域、深度学习、练习中,经常发现在训练大数据集时,深度学习算法表现才更加优越,所以代码运行得非常快非常重要。否则如果运行在一个大数据集上,代码可能花费很长时间去运行,这将要等待非常长的时间去得到结果。
所以在深度学习领域,向量化是一个关键的技巧。
在逻辑回归中,需要计算 z = w T ∗ x + b z=w^T*x+b z=wT∗x+b,w是列向量,x也是列向量。如果有很多的特征,这些向量就是非常大的向量,所以w和x都是 n x n_x nx维的向量。
所以计算 w T ∗ x w^T*x wT∗x,如果有一个非向量化的实现,你将会做一些事情,这将会使用到一个for循环用于计算z。
用向量化的方法,将会直接计算 w T ∗ x w^T*x wT∗x,需要用到命令 z = n p . d o t ( w , x ) + b z=np.dot(w,x)+b z=np.dot(w,x)+b,这就是向量化的方法。
事实证明,当能够使用向量化时就不要使用for循环。