以下八度代码片段的矢量化代码是什么
What is the vectorized code for the following code snippet for octave
任何人都可以帮助我将以下代码转换为矢量化形式吗??
z=X*theta;
g=sigmoid(z);
for i=1:m
J=J+((-y(i)*log(g(i)))-((1-y(i))*log(1-g(i))));
end
我试过以下方法
z=X*theta;
g=sigmoid(z);
J=J+((-y).*log(g)-((1-y).*log(1-g)));
但这会打印特定值 m 次。还有错误的答案。
J 的答案是 0.693,我可以正确使用 for 循环,但对于矢量化实现,我得到 0.00693。
怎么了?
提前致谢。
您正在获取 J,并将所有 -y(i)*log(g(i))-(1-y(i))*log(1-g(i))
添加到其中。
所以你需要 J
并添加 (sum
) 所有这些东西。
J=J+sum( (-y).*log(g)-(1-y).*log(1-g) );
任何人都可以帮助我将以下代码转换为矢量化形式吗??
z=X*theta;
g=sigmoid(z);
for i=1:m
J=J+((-y(i)*log(g(i)))-((1-y(i))*log(1-g(i))));
end
我试过以下方法
z=X*theta;
g=sigmoid(z);
J=J+((-y).*log(g)-((1-y).*log(1-g)));
但这会打印特定值 m 次。还有错误的答案。
J 的答案是 0.693,我可以正确使用 for 循环,但对于矢量化实现,我得到 0.00693。
怎么了? 提前致谢。
您正在获取 J,并将所有 -y(i)*log(g(i))-(1-y(i))*log(1-g(i))
添加到其中。
所以你需要 J
并添加 (sum
) 所有这些东西。
J=J+sum( (-y).*log(g)-(1-y).*log(1-g) );