2.6向量化以及例子

1.什么是向量化
在逻辑回归中(python)
在这里插入图片描述显然,向量化快速,方便。
2.小例子(python):向量化和非向量化运行时间的区别

import numpy as np
n = np.arrary([1,2,3,4])
print(a)
import numpy as np
import time
a = np.random.rand(1000000)
b = np.random.rand(1000000)#百万维数组
tic = time.time() #记录当前时间
c = np.dot(a,b)
toc = time.time()
print(c)
print("vectorized version:"+str(1000*(toc-tic))+"ms")

#非向量化的版本
c = 0
tic = time.time()
for i in range(1000000):
    c += a[i]*b[i]
toc = time.time()
print(c)
print("For loop:" + str(1000*(toc-tic)) +"ms")#打印for循环的版本的时间

运行一次结果
在这里插入图片描述
结果说明向量化可以节省很多时间

更多例子

  • 避免使用for循环
  • 例1:向量u为矩阵A与向量v的乘积,左边为非向量版本,右边是向量版本(python)

在这里插入图片描述

  • 例2:假设你内存里已有向量v,对v中的每一个元素如果做指数运算
    在这里插入图片描述

非向量

u = np.zeros(n,1)
for i in range(n)
	u[i] = math.exp.(v[i])

向量

import numpy as np
u = np.exp(v)

numpy里面有很多内置函数,np.log(v)(每个元素的对数)、np.abs(v)(每个元素的对绝对值)、np.maximum(v)(v里和0相比最大元素)。

  • 怎么把向量化用到逻辑回归,去掉for循环。
    逻辑回归导数的程序
    想向量化,dw1,dw2不要初始化为0,应为向量
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值