gpt4 book ai didi

matlab: fminunc 返回 'User objective function returned complex; trying a new point...'

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

fminunc 正在返回“用户目标函数返回复数;当“iter-detailed”打开时,尝试一个新点...”。我知道这是因为我的成本函数,由于某种原因它返回一个复杂的组件(准确地说它返回 J = NaN + NaNi)。关于为什么要这样做以及我该如何解决它有什么想法吗?附:我有一个非常大的特征集(大约 1000 个),它是否会超过最大值或精度?附注成本函数和梯度:

hyp = sigmoid(X * theta);
reg = (lambda/(2*m))*sum((theta(2:end).^2));

J = (1/m * sum((-y .* log(hyp)) - ((1-y) .* log(1-hyp)))) + reg;

grad(1) = (1/m * ((hyp-y)' * X(:,1)))';
grad(2:end) = (1/m * ((hyp-y)' * X(:,2:end)))' + (lambda/m * theta(2:end));

最佳答案

您有可能遇到奇怪的错误融合,其中:

  • sigmoid(X*theta) 为负数或大于 1(当您在第 3 行获取其对数时,这将为您提供复数部分);和
  • m 或 y 是 NaN 吗?

我以前没有注意到这一点,但如果 NaN 与复数交互,你会得到一个“复数”NaN。

>> (1+2i) * nan

ans =

NaN + NaNi

关于matlab: fminunc 返回 'User objective function returned complex; trying a new point...',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467265/

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