我在使用numpy并行化下面的for循环时遇到麻烦(get_new_weights)。第一次尝试在update_weights中使用df_dm时,权重是完全错误的。在第二次尝试df_dm时,我的体重超过了最佳体重。
注意-偏差是一个数字,权重是一个数字(一个变量线性回归),X是形状(442,1),y是形状(442,1)。还要注意,更新我的偏见项在update_weights中非常有效-它只是更新我遇到麻烦的权重。
.s2
答案 0 :(得分:1)
感谢所有看过我的问题的人。我松散地使用术语并行化来指代我正在寻找的运行时优化,因为它消除了对for循环的需求。这个问题的答案是:
df_dm = (1/len(X)) * np.dot((-2*X).T, (y-(weight*X+bias)))
这里的问题是确保由中间步骤生成的所有数组都具有正确的形状。对于那些对这两个函数之间的运行时差异感兴趣的人:for循环花费了十倍的时间。