我遇到了 2 个类似的 Octave 音程语句,其中一个无法提供正确的结果。该代码应该计算正则化 Logistic 回归的成本函数。
J=(1/m)*sum(-y'*log(h)-(1-y')*log(1-h)) + (lambda/2*m)*sum(theta(2:end).^2;
%Bad one
J = (sum(-y' * log(h) - (1 - y')*log(1 - h)) / m) + lambda *sum(theta(2:end).^2)/ (2*m);
%good one
请有人告诉我这两者之间的区别。
最佳答案
在第一个中,您有lambda/2*m
。这是(lambda/2)*m
。而在第二个中,你有 lambda/(2*m) 。因此,在第一个表达式中,您乘以 m
,在第二个表达式中除以 m
。另请注意,第一个表达式末尾缺少括号。
关于matlab - 这两个用于 ML 中正则化 Logistic 回归的 Octave 语句有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48584780/