korrekte Verwendung von scipy.optimieren.fmin_bfgs

Ich bin Herumspielen mit der logistischen regression in Python. Ich habe implementiert eine version, wo die Minimierung der Kostenfunktion erfolgt über Gradienten Abstieg, und jetzt würde ich gerne mit dem BFGS-Algorithmus von scipy (scipy.optimieren.fmin_bfgs).

Habe ich eine Reihe von Daten (Funktionen in der matrix X, mit einer Probe, bei der jede Zeile von X, und correpsonding Etiketten in der senkrechten Vektor y). Ich bin auf der Suche Parameter Theta zu minimieren:

korrekte Verwendung von scipy.optimieren.fmin_bfgs

Ich habe Schwierigkeiten zu verstehen, wie fmin_bfgs genau funktioniert. So weit wie ich es bekommen habe, habe ich zu übergeben, eine Funktion minimiert werden und ein setzen der Initialen Werte für Thetas.

Ich Folgendes tun:

initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)

wo computeCost berechnet J(Thetas) wie oben dargestellt. Aber ich bekomme einige index-bezogene Fehler, so dass ich denke, ich bin nicht gemacht, was fmin_bfgs erwartet.

Kann jemand etwas Licht in diese Schuppen?

InformationsquelleAutor ACEG | 2012-04-21
Schreibe einen Kommentar