Gram z regresją logistyczną w Pythonie. Zaimplementowałem wersję, w której minimalizacja funkcji kosztowej odbywa się za pomocą gradientowego spadku, a teraz chciałbym użyć algorytmu BFGS z scipy (scipy.optimize.fmin_bfgs).poprawne użycie scipy.optimize.fmin_bfgs
Mam zestaw danych (funkcje w macierzy X, z jedną próbką w każdym wierszu X i korelacji etykiety w pionowym wektorze y). Próbuję znaleźć parametry Theta aby zminimalizować:
mam problemy ze zrozumieniem jak fmin_bfgs działa dokładnie. O ile je otrzymuję, muszę przekazać funkcję, która ma być zminimalizowana, oraz zestaw początkowych wartości dla Thetas.
zrobić następujące:
initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)
gdzie computeCost oblicza J (Thetas), jak pokazano powyżej. Ale dostaję pewne błędy związane z indeksami, więc myślę, że nie dostarczam tego, czego oczekuje fmin_bfgs.
Czy ktoś może rzucić trochę światła na to?
Ah, [gumowe debugowanie kaczek] (http://en.wikipedia.org/wiki/Rubber_duck_debugging) =) – katrielalex
@katrielalex Tak naprawdę !! : D – Cristina