Я играю с логистической регрессией в Python. Я реализовал версию, в которой минимизация функции стоимости выполняется с помощью градиентного спуска, и теперь я хотел бы использовать алгоритм BFGS из scipy(scipy.optimize.fmin _bfgs).
У меня есть набор признаков данных (в матрице X с одним образцом в каждой строке X и соответствующими метками в вертикальном векторе y ). Я пытаюсь найти параметры Theta для минимизации:
У меня проблемы с пониманием того, как точно работает fmin _bfgs . Насколько я понимаю, мне нужно передать минимизируемую функцию и набор начальных значений для Thetas.
Я делаю следующее:
initial_values = numpy.zeros((len(X[0]), 1))
myargs = (X, y)
theta = scipy.optimize.fmin_bfgs(computeCost, x0=initial_values, args=myargs)
где вычислениеCost вычисляет J (Thetas ), как показано выше. Но я получаю некоторые ошибки, связанные с индексом -, поэтому я думаю, что не предоставляю то, что ожидает fmin _bfgs.
Кто-нибудь может пролить свет на это?