Есть ли альтернатива функции fminunc
(из октавы/matlab) в python? У меня есть функция стоимости для бинарного классификатора. Теперь я хочу запустить спуск градиента, чтобы получить минимальное значение тета. Реализация октавы/матлаба будет выглядеть следующим образом.fminunc alternate in numpy
% Set options for fminunc
options = optimset('GradObj', 'on', 'MaxIter', 400);
% Run fminunc to obtain the optimal theta
% This function will return theta and the cost
[theta, cost] = ...
fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);
Я преобразовал мою costFunction в питоне с использованием библиотеки Numpy, и ищут fminunc или любую другую реализацию алгоритма градиентного спуска в NumPy.
Более конкретно, из [этот пост на форуме] (http://octave.1599824.n4.nabble.com/algorithm-for-fminunc-td4648956.html), кажется, что Октава 'fminunc' использует некоторую форму BFGS (не удалось найти более авторитетную ссылку). Поэтому ['scipy.optimize.fmin_bfgs'] (http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fmin_bfgs.html#scipy.optimize.fmin_bfgs) кажется ближайшей параллелью с' fminunc'. – Alec