机器学习 - 为什么需要向量化(vectorized)

在学习机器学习的时候,我们总是会听到向量化(vectorized)这个词,为什么呢?其实一个主要的原因是为了提升代码的运行效率。

假设现在我们有这么个函数:


机器学习 - 为什么需要向量化(vectorized)_第1张图片
函数公式

如果没有向量化,那么在直接计算这个求和公式的话,需要的代码量是如下这么多行:

p = 0;

for i = 1:n+1,

    p = p + theta(i)*x(i);

end;

但是如果将其中一个参数集合向量化了,使其两个参数可以直接进行运算,那么代码将缩减为一行:

p = theta' * x;

代码由原来的四行缩减为一行,运行效率是提升很多的,特别是当数据量大的时候,将会很大程度提升整个程序的运行效果。

你可能感兴趣的:(机器学习 - 为什么需要向量化(vectorized))