[SciPy-user] optimize.fmin_bfgs only returning a scalar for xopt?
David Warde-Farley
dwf at cs.toronto.edu
Thu Apr 3 16:18:28 EDT 2008
On 3-Apr-08, at 3:30 PM, Nils Wagner wrote:
> Can you provide us with your example code ?
Sure. Here I'm just attempting to fit a logistic regression model.
def lr_probs(coeffs, data, target):
bias = coeffs[0]
coeffs = coeffs[1:]
eta = bias + N.sum(coeffs * data, axis=1)
probs = 1 / (1 + N.exp(-eta))
return probs
def lr_nloglik(coeffs, data, target, decay=0):
probs = lr_probs(coeffs, data, target)
bias = coeffs[0]
coeffs = coeffs[1:]
L = N.sum(target * probs)
if decay:
L = L - decay * (bias**2 + N.sum(coeffs**2))
return -L
def lr_fit(data, target, decay=None):
#initial = S.randn(data.shape[1] + 1) * 0.01
initial = N.zeros(data.shape[1] + 1)
beta, lik, fcalls, gcalls = opt.fmin_bfgs(lr_nloglik, initial,
None, args=(data,target,decay))
More information about the SciPy-User
mailing list