吴恩达 神经网络和深度学习 观看笔记(3)

Vectorization

在深度学习中,向量化用于消除一些for循环来加快运算的速度。


1、What is Vectorization

向量化就是把一些需要循环运算的数据用向量去表示和运算。如图,随机向量的乘机,我们用for循环迭代相加和用numpy中的dot函数去做,时间差距可以达到两百倍。
在这里插入图片描述

2、More Vectorization Examples

不仅仅有doc函数去完成向量和矩阵之间的计算,还有exp,log,abs,maximum等等。
在这里插入图片描述

在我们的逻辑回归梯度下降算法中,第二个for循环就可以用向量化的方式代替,设置dw=np.zeros((n_x,1)),所有的x特征值做成一个向量,然后去累加:dw+=x*dw,用向量计算更简便了。
在这里插入图片描述

3、Vectoriztion Logistic Regression

在这里插入图片描述
通过向量化把之前的第一个for循环化简,写成矩阵的加减乘除形式。其中用到了python中的广播。

在这里插入图片描述
最后,从原来的代码,实现了对两次for循环的向量化,图中右边是整个向量化的结果,效率比之前高了不少。当然,如果我们需要多次迭代的梯度下降,还需要在外层做一个for循环,这个是避免不了的。

4、Broadcasting example

python中的广播很好理解,就是在矩阵的运算过程中,自动补全成符合运算要求的矩阵的形式,再去计算。
在这里插入图片描述
附上课后选择题和编程作业

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值