【发布时间】:2016-03-18 21:29:07
【问题描述】:
function [predictY] = logisticRegressionClassify(testX, testY, w)
temp = arrayfun(@(x) x/(1+x), exp(testX * w));
[~, predictY] = max(temp, [], 2);
我正在运行多类逻辑回归,但从未得到合理的结果。然后我发现问题是因为 temp 是用 NaN 和 0 计算的。如何修改此代码以避免此类问题?
【问题讨论】:
-
我想问题出在数组
testX * w上,因为其他一切看起来都不错。 -
变量 x 的预期取值范围是多少?
-
@BudoZindovic exp 总是积极的。用 arrayfun 编写它的方式有点奇怪,但对我来说看起来不错。
-
@MatthewGunn 你是对的,但 arrayfun 的第一部分是 x/(1+x) 所以我指的是这部分。
-
@brainkz 问题是
exp(x) / exp(x)不会是 1 如果x足够大
标签: matlab machine-learning logistic-regression