我正在 GNU Octave 中尝试一些机器学习算法,例如平方误差成本函数。我所说的正确的矢量化论坛是:
J = (X * theta - y)' * (X * theta - y) * (1/(2*m)
其中 X 是 m x n+1
矩阵,theta 是n+1 x 1
向量,y 是m x 1
向量。我的问题是第二种方式是否更快一点:
J = sum((X * theta - y).^2) * (1/(2*m))
因为它只计算X * theta -y
一次。作为 octave 的新手,它似乎在 windows 上运行在一个非常有气质的环境中,我不知道如何对自己进行基准测试。
由于这比任何事情都更令人好奇,请随时告诉我这甚至都没有关系。