Using fminunc() for logistic regression
6 次查看(过去 30 天)
显示 更早的评论
I've been using fminunc to get parameters for logistic regression for a while now and it was working fine. However, everytime I convert one column of my data into log of that data, it shows the following error: "Objective function is undefined at initial point. Fminunc cannot continue"
Can someone tell me why this is happening?
x is a matrix and I wanted to include log of one of the columns to calculate my parameters theta. It works fine if I don't convert it into log values.
In_cost is a function I wrote to calculate cost and gradient vector.
lambda = 0;
theta_i = zeros(size(x,2),1);
options = optimoptions(@fminunc,'Algorithm','Quasi-Newton','GradObj', 'on', 'MaxIter', 1000);
[theta, J, exit_flag] = fminunc(@(t)(in_cost(t, x, y, lambda)), theta_i, options);
1 个评论
the cyclist
2020-3-3
Could you upload your in_cost function and a small dataset that will exhibit the error?
采纳的回答
Matt J
2020-3-3
编辑:Matt J
2020-3-3
Can someone tell me why this is happening?
The problem has nothing to do with fminunc. As the error message says, your objective function is not returning a valid value at the initial point. You simply need to call your function with the initial point and observe the output to verify what the message is telling you.
0 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!