向量化
- 向量化
- 简洁
- 并行计算
向量化
线性回归的向量化表示如下,其中w 和 x 都分别加了箭头表示这是个向量,后续不加也可以表示为向量,w和x点乘加上b,就构成了多元线性回归的表达方式,如下:
那么究竟为什么用向量化的方式表达呢?
简洁
比如有三个特征,计算f(x)的表达方式就变成了如下:
特征和权重更多的,这个项就越多,这个向量表达式显然复杂的多。
并行计算
如果不使用这种向量表达式方式,单项相加的方式,那计算机只能是串行的计算,且每次都要取权重和特征数据
再来看向量化后的计算机是怎么计算的:
f = np.dot(w, x) + b,np是python中的Numpy,它的计算过程是这样的:
一下取出所有的数据,利用硬件加速的原理,并行的计算对应位置的w和x相乘,然后相加。
这种并行的计算方式在大规模数据集上的效率更加明显,它的计算过程图示如下:
同样的在梯度下降的时候,可以并行做多个w的梯度下降:
不过实际上我们并不需要担心实现的复杂程度,现在大部分库都已经集成了这些算法,我们只需要调用一个api,就可以达到同时梯度下降。