最大化Matlab中的似然函数用于逻辑回归

时间:2016-07-09 18:52:55

标签: matlab machine-learning logistic-regression

我从理论上研究了逻辑回归问题(数学理论),现在我想用最大似然估计来实现它。我们有最大可能性的功能,看起来就是这样

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函数。

0 个答案:

没有答案