【发布时间】:2017-03-06 14:26:54
【问题描述】:
我正在 Matlab 中实现逻辑回归。数据被标准化(平均值和标准差)。我知道根据您的学习率,您可能会超过最佳点。但这是否意味着您的成本开始上升?就我而言,成本进入负数区域,我不明白为什么。
这是标准(我认为?)成本和重量更新规则
function J = crossEntropyError(w, x, y)
h = sigmoid(x*w);
J = (-y'*log(h) - (1-y')*log(1-h));
end
体重更新:
function w = updateWeights(alpha, w, x, y)
h = sigmoid(x*w);
gradient = x'*(h-y);
w = w - alpha*gradient;
end
这毫无意义。当打到0时,它不应该自我纠正并朝另一个方向走吗?也就是说,因为导数指向最小值。我玩过学习率,这里设置为很小的 0.0001。但这没有什么区别,同样的模式。有什么问题?这里肯定有什么问题,但我找不到。
【问题讨论】:
标签: matlab machine-learning logistic-regression gradient-descent