Я столкнулся с несколькими странностями, пытаясь оптимизировать функцию с использованием алгоритма Левенберга-Марквадта в Scipy. Мне было интересно, есть ли у кого-нибудь объяснение для них.
A. У меня есть целевая функция, которая принимает два параметра с 2 остатками. Насколько я понимаю, LM для scipy root
с использованием sum(residual^2)
и least_squares
должен быть одинаковым. Однако least_squares
возвращает оптимизированное значение, а root
не удается. Различны ли реализации для двух функций?
B. Когда я оптимизирую функцию, используя least_squares
, второй параметр не изменяется от своего начального значения. Почему это происходит?
Спасибо за помощь!