plotData.m:
pos = find(y==1); neg = find(y==0);
plot(X(pos, 1), X(pos, 2), 'k+', 'LineWidth', 2, 'Markersize', 8)
plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y', 'Markersize', 8)
g = 1./(1+exp(-z));costFunction.m:
b = sigmoid(X*theta);
J = -(1/m)*( (log(b'))*y + log(1-b')*(1-y) );
grad = (1/m) * ( X'*(b-y) );
predict.m:
b = sigmoid(X*theta);
for i = 1:m
if b(i)>=0.5
p(i) = 1;
else
p(i) = 0;
end
end
b = sigmoid(X*theta);
J = -(1/m)*( (log(b'))*y + log(1-b')*(1-y) ) + (lambda/(2*m))*(sum(theta.^2)-theta(1)^2);
k = X'*(b-y);
grad(1) = (1/m)*k(1);
long = length(k);
k2 = (1/m) * (k(2:long,:)) + (lambda/m)*(theta(2:long,:));
grad(2:long,:) = k2;
本文提供了几个关键的MATLAB函数实现示例,包括绘制数据点、sigmoid函数、未正则化的成本函数及梯度计算、预测函数以及正则化的成本函数及梯度计算。通过这些函数,可以有效地进行逻辑回归模型的训练与预测。
1394

被折叠的 条评论
为什么被折叠?



