在学习机器学习的时候,我们总是会听到向量化(vectorized)这个词,为什么呢?其实一个主要的原因是为了提升代码的运行效率。
假设现在我们有这么个函数:
函数公式如果没有向量化,那么在直接计算这个求和公式的话,需要的代码量是如下这么多行:
p = 0;
for i = 1:n+1,
p = p + theta(i)*x(i);
end;
但是如果将其中一个参数集合向量化了,使其两个参数可以直接进行运算,那么代码将缩减为一行:
p = theta' * x;
代码由原来的四行缩减为一行,运行效率是提升很多的,特别是当数据量大的时候,将会很大程度提升整个程序的运行效果。
网友评论