本文重点
上一节课程中,我们学习了多样本的线性回归模型,但是我们的伪代码实现中使用了大量的for循环,这样代码的问题是效率很低。为了克服这一瓶颈,向量化技术应运而生,成为提升程序执行效率、加速数据处理速度的重要手段。
向量化技术概述
向量化(Vectorization)是一种通过一次操作处理多个数据项的技术,旨在减少循环次数和指令调用开销,从而提高计算效率。在传统的for循环中,每次迭代通常只处理一个或少数几个数据项,这种逐个处理的方式在数据量庞大时显得尤为低效。而向量化技术则通过将多个数据项打包成一个向量(或数组),并应用向量操作来同时处理这些数据项,从而实现并行计算的效果。
向量化的直观离线
什么是向量化计算?我们通过逻辑回归来解释一下,并且来看一下为什么向量化如此强大。在逻辑回归中,我们需要计算:
其中w和x都是列向量:
我们先使用一下非向量化方法去计算Z,我们需要用到如下方式:
z=0
for i in range(n_x):z+=w[i]*x[i]
z+=b
这种使用for循环的非向量化