机器学习深度学习——向量化

向量化

Whenever possible, avoid explicit for-loops.

为什么向量化

加快运算速率,这就要使用一个强大的工具包numpy
直接上代码看看非向量化和向量化的对比 计算 两个向量内积,可以看到,向量化的结果比非向量化的快了有三百倍
在这里插入图片描述

向量化的更多例子

矩阵和一个向量相乘
在这里插入图片描述
计算向量的指数运算
在这里插入图片描述

将向量化运用到logistic回归中

非向量化logistic回归的梯度下降代码:
在这个代码里面 有两个循环,绿色指示的部分,在计算dw的时候,如果我们有多个特征值,就要计算多个dw,此时n=2,dw就计算两个,很多的时候就要用循环解决,但是为了不循环,将下面的代码改成向量
在这里插入图片描述

将dw1,dw2 …改成一个向量dw表示,初始化dw为n_x行1列的0即可
在这里插入图片描述

向量化logistic回归

在上面的向量化中,简化了中间求dw的循环,这里,将for i=1 to m也简化掉,进行向量化
具体的做法是:
首先要求出z1,z2等,由z = wTx + b可知,应先将w,x和b向量化,x是输入的特征值个数,记为nx,而每一个样本都对应不同的输入,一共m个样本,所以有m列,所以x是R(nx,m)的矩阵而w在上面已经知道是个R(nx,1)的矩阵,w*x得到的矩阵是R(1*m)的,所以b也是R(1*m)的,最后z = np.dot(w.t, X) + b
然后要计算a1,a2等,a是由一个激活函数对z求得的,当z已经求出,可以直接将向量放入激活函数求出向量a, 最后A = σ(Z)
在这里插入图片描述

向量化logistic回归的梯度输出

接下来就是计算dz,db,dw
在这里插入图片描述
最后,将向量化运用到logistic回归的梯度输出中去
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值