gpt4 book ai didi

machine-learning - 无法计算成本函数中 1 个变量的成本

转载 作者:行者123 更新时间:2023-11-30 09:23:17 25 4
gpt4 key购买 nike

我正在学习 Andrew Ng 教授通过 Coursera 开设的机器学习类(class)的第二周。我们正在研究线性回归,现在我正在编写成本函数。

当我在 Octave 命令行中逐行执行时,我编写的代码可以正确解决问题,但当我从 Octave 中的computeCost.m 文件运行它时返回 0。

到目前为止我得到的代码。

function J = computeCost(X, y, theta)
%COMPUTECOST Compute cost for linear regression
% J = COMPUTECOST(X, y, theta) computes the cost of using theta as the
% parameter for linear regression to fit the data points in X and y

% Initialize some useful values
%m = length(y) % number of training examples

% You need to return the following variables correctly


% ====================== YOUR CODE HERE ======================
% Instructions: Compute the cost of a particular choice of theta
% You should set J to the cost.


m = size(X,1);
predictions= X*theta;
sqrErrors= (predictions-y).^2;
J= 1/(2*m) * sum(sqrErrors);


=========================================================================

end

我已经设置

X=[1 1; 1 2; 1 3]     y=[1;2;3]      and theta=[0,1]

当我在命令提示符下逐一执行上述行时,当 theta=[0;0] 时,我得到 J= 0 和 J=2.333。但是当我从 Octave 命令行从文件computeCost.m 运行相同的代码时无论我为 theta 设置什么值,我总是得到 J=0..请帮助

最佳答案

您在调用computeCost时是否可能出错?您提到您正在运行computeCost.m 中的脚本。 (我认为最好的是你更好地描述哪些代码 pasrt 在哪个文件中以及如何调用函数)

规则是:如果您的函数名称是“computeCost”,则应在名为“computeCost.m”的文件中实现该函数(函数直到 endfunction)。 (有一些异常(exception)我省略了)

您也可能错误地调用了computeCost。考虑这个脚本

C = 0;
function C = addthem (A, B)
C = A+B;
endfunction

addthem (2, 3); # This WON'T update C

C = addthem (4, 5); # This will update C

您还可以在computeCost 和dbstep 中使用“键盘”设置断点。您看过调试功能吗?使用它们确实值得,因为这使得调试变得非常容易:Debugging in Octave

关于machine-learning - 无法计算成本函数中 1 个变量的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26455774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com