Проблема с использованием scipy.optimize.minimine в python - PullRequest
0 голосов
/ 10 июля 2020

Я пытался работать над кодом, который позволяет пользователю выполнять нейронный net анализ с количеством слоев и количеством узлов на каждый слой по выбору пользователя. Однако, работая над кодом, я наткнулся на небольшую проблему. Я решил использовать go способ scipy.optimize.minimize минимизировать стоимость / целевую функцию нейронной сети. Я пробовал использовать метод TN C, но, похоже, он дает нестабильные результаты, иногда с высокой точностью, а иногда с низкой точностью. Строка кода с scipy.optimize is, приведенная ниже

from scipy.optimize import minimize

fmin = minimize(fun=computeCostandGrad,x0=theta_unroll,
                args(input_size,hidden_size,n_hidden,n_labels,X,y,lmbda),
                method='TNC',jac=True)

Функция computeCostandGrad возвращает как значение функции стоимости, так и производные параметров нейронной сети. Теперь я уверен, что оба они работают правильно, поскольку я запустил код, используя известные данные и выходные значения, а также протестировал обратное распространение с проверкой градиента. Первоначальное предположение x0=theta_unroll - это массив numpy формы: (1,10285).

Увидев, что метод TN C дает нестабильные результаты, я попытался изменить метод на BFGS. Но возникает эта проблема.

ValueError: shapes (10285,10285) and (1,10285) not aligned: 10285 (dim 1) != 1 (dim 0)

Теперь я знаю, что функция computeCostandGrad верна, как я объяснял ранее. И у меня не было таких проблем, когда я использовал метод TN C. Почему у меня возникает эта проблема, когда я пытаюсь запустить только BFGS? Когда я попробовал ошибку Newton-CG, возникла другая проблема.

ValueError: setting an array element with a sequence.

Я запутался. Ошибка связана с тем, как я использовал scipy.optimize.minimize, или есть какие-то проблемы с моей функцией computeCostandGrad? Пожалуйста, помогите мне! Я прикрепил ссылку, по которой вы можете увидеть мой код ниже.

https://github.com/Gauthi-BP/Neural-network-Generalized/blob/master/Neural%20Network.ipynb

...