gpt4 book ai didi

matlab - 将 fminunc 应用于 costFunction 进行逻辑回归

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

我在使用 Mac 版本的 Matlab_R2016a 练习机器学习类(class)逻辑回归编码时遇到了问题。

首先,这是我的 costFunction 代码,它可以很好地返回成本和梯度:

function [J,grad] = costFunction(X, y, theta)


% Initialize some useful values
h=sigmoid(X*theta);
m = length(y); % number of training examples

grad = m^(-1) * ((h-y)'*X)';
J=sum(-y.*log(h)-(1-y).*log(1-h))/m;

end

这是 sigmoid 函数:

function h=sigmoid(z)

h = (1 + exp(-1 *z)).^(-1);

end

最后,我将 costFunction 应用于 fminunc,其形式如下图所示( enter image description here )。但是,奇怪的是,它说我的 costFunction 中 X*theta 的内部矩阵尺寸是错误的(之前没问题)。我很欣赏您提供的一些解决方案或想法。

最佳答案

请控制 fminunc 内匿名函数调用中参数的顺序。

在你的函数“costFunction”中,它们是X,y,theta;当您调用 fminunc(@(t) costFunction(t,X,y) ...) 时,您将 X 和 y 分别作为第二个和第三个参数。

希望这有帮助。

关于matlab - 将 fminunc 应用于 costFunction 进行逻辑回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43124578/

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