上节的代码中存在两个for循环,严重影响代码性能,运用python中的numpy能实现向量化运算,性能显著提升
——————————————————————————————————————————————————————————————————————————-
python中的numpy可以进行向量化操作
矩阵乘法u=Av | 代码可写为u=np.dot(A,v) |
---|---|
v矩阵所有元素求指数 | 代码可写为u=np.exp(v) |
矩阵所有元素求对数 | 代码可写为u=np.log(v) |
矩阵所有元素求绝对值 | 代码可写为u=np.abs(v) |
矩阵所有元素求最大 | 代码可写为u=np.maximum(v) |
… | … |
对logistic回归代码的改进
可以将dw声明为一个n*1的向量,里面嵌套的for循环改成dw+=,代码最后可以直接用dw/=m