我从理论上研究了逻辑回归问题(数学理论),现在我想用最大似然估计来实现它。我们有最大可能性的功能,看起来就是这样
function P = maximumLikelihood(beta, X, y)
P = 1;
m = size(X,1);
for i=1:m
if y(i) == 0
currP = 1 - sigmoid(X(i,:)*beta);
else
currP = sigmoid(X(i,:)*beta);
end
P = currP*P;
end
end
我使用内置的Matlab函数fminbnd以这种方式最大化
fminbnd(@(beta)-maximumLikelihood(initial_beta,X,y), -Inf, +Inf)
它给了我3个beta值,我用它来做我的sigmoid函数来做出预测。但是,我的错误率非常高,超过50%的数据被错误分类。如果我做错了或者我以错误的方式最大化了功能,请告诉我;我还没有在互联网上找到任何代码,只有关于最大似然函数的理论和用于逻辑回归的内置Matlab函数。