Coursera 机器学习_Octave Cost Function

我一开始写的是

h = X*theta;
J = 1 / 2*m * sum((h-y) .^ 2);

得到的结果是

我以为是没有给数据做normalization,于是

%avg_x = sum(X(:,2))/length(X);
%X = [ ones(length(X),1) ,(X(:,2) - avg_x) / (max(X(:,2)) - min(X(:,2)))];

%avg_y = sum(y)/length(y);
%y = (y-avg_y) / ( max(y) - min(y) );
但是发现结果还是不对,最后我才发现,原来是
J = 1 / 2*m * sum((h-y) .^ 2);
公式的计算顺序不对,导致m由分母变成了分子


然后就得到正确结果了。

分母部分一定要用( )括起来,保证运算顺序正确



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值