sepzhu 2018-04-02 02:40 采纳率: 0%
浏览 1858
已结题

matlab逻辑回归代价函数报错

代价函数:

function [jVal,gradient]=costFunc(theta)
%load data
fid=fopen('D:\graduate design\data\track2\training.txt');
temp=textscan(fid,'%f%f%f%f%f%f%f%f%f%f%f%f',1000000);
temp=cell2mat(temp);
X=temp(:,[8 9 7]);
y=temp(:,1);
X=X';
m=length(y);
hypothesis=sigmoid(theta'*X);
jVal=-1/m(sum(y.*log(sigmoid(theta'*X))+(1-y).*log(1-sigmoid(theta'*X))));
gradient=zeros(size(theta));
for j=1:size(theta)
gradient(j)=1/m*sum(hypothesis-y)*X(:,j);
end

    梯度下降:
    function [optTheta,functionVal,exitFlag]=gradientDescent()
options=optimset('GradObj','on','MaxIter',100);
initialTheta=zeros(3,1);
[optTheta,functionVal,exitFlag]=fminunc(@costFunc,initialTheta,options);

end

报错信息:

下标索引必须为正整数类型或逻辑类型。

出错 costFunc (line 11)
jVal=-1/m(sum(y.*log(sigmoid(theta'*X))+(1-y).*log(1-sigmoid(theta'*X))));

出错 fminunc (line 301)
[f,GRAD] = feval(funfcn{3},x,varargin{:});

出错 gradientDescent (line 4)
[optTheta,functionVal,exitFlag]=fminunc(@costFunc,initialTheta,options);

原因:
Failure in initial objective function evaluation. FMINUNC cannot continue.

  • 写回答

2条回答 默认 最新

  • weixin_40811643 2018-04-02 04:11
    关注

    第11行(-1/m) 和后面表达式之间的*丢了

    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器