Estoy jugando con la regresión logística en Python. Implementé una versión donde la minimización de la función de costo se realiza mediante el descenso de gradiente, y ahora me gustaría utilizar el algoritmo BFGS desde scipy (scipy.optimize.fmin_bfgs).uso correcto de scipy.optimize.fmin_bfgs
Tengo un conjunto de datos (funciones en la matriz X, con una muestra en cada fila de X, y las etiquetas correspondientes en el vector vertical y). Estoy tratando de encontrar parámetros para minimizar Theta:
que tienen problemas para entender cómo fmin_bfgs funciona exactamente. Por lo que yo entiendo, tengo que pasar una función para minimizarla y un conjunto de valores iniciales para Thetas.
hago lo siguiente:
initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)
donde computeCost calcula J (Thetas) como se ilustra anteriormente. Pero recibo algunos errores relacionados con el índice, así que creo que no estoy proporcionando lo que fmin_bfgs espera.
¿Alguien puede arrojar algo de luz sobre esto?
Ah, [depuración de pato de goma] (http://en.wikipedia.org/wiki/Rubber_duck_debugging) =) – katrielalex
@katrielalex ¡Tan cierto! : D – Cristina