本文使用vectorization方法计算点积(dot product)。

旧文描述logistic regression需要计算

其中w和x都是vector,有

一种naive的算法:

z = 0
for i in range(nx):
	z += w[i] * x[i]
z += b

遍历所有的项,一一相乘并求和。

andrew描述另一种直接调用numpy api求点积的方法:

np.dot(w.T,x)

而np.dot()方法内置实现了vectorization。

简单对比两者的performance:

Fig.1 对比vectorization和non vectorization方法
Fig.1 对比vectorization和non vectorization方法

可以看出,使用了vectorization方法的performance比简单遍历至少提高两个数量级。

Andrew也提到梯度下降求解logistic regress的cost function算法中1

features的遍历:可以使用vectorization的方法计算,从而避免使用显式循环。

  • update 1st 02/02/19
  • update 2nd 2/14/19