![][1]
Нахождение экстремума (минимума или максимума) [целевой функции][2] является важной задачей в математике и её приложениях (в частности, в машинном обучении есть задача [curve-fitting][3]). Наверняка каждый слышал о [методе наискорейшего спуска][4] (МНС) и [методе Ньютона][5] (МН). К сожалению, эти методы имеют ряд существенных недостатков, в частности — метод наискорейшего спуска может очень долго сходиться в конце оптимизации, а метод Ньютона требует вычисления вторых производных, для чего требуется очень много вычислений.
Для устранения недостатков, как это часто бывает, нужно глубже погрузиться в предметную область и добавить ограничения на входные данные. В частности: МНС и МН имеют дело с произвольными функциями. В статистике и машинном обучении часто приходится иметь дело с [методом наименьших квадратов][6](МНК). Этот метод минимизирует сумму квадрата ошибок, т.е. целевая функция представляется в виде:
![][7]
[Алгоритм Левенберга — Марквардта][8] используется для решения нелинейного метода наименьших квадратов. Статья содержит:
* объяснение алгоритма
* объяснение методов: наискорейшего спуска, Ньтона, Гаусса-Ньютона
* приведена реализация на Python с [исходниками на github][9]
* сравнение методов
[Читать дальше →][10]
[1]:
https://habrastorage.org/files/666/37a/a4e/66637aa4ed89475897f02d77f49d201a
[2]:
https://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BB%D0%B5%D0%B2%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F
[3]:
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B1%D0%BB%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BA%D1%80%D0%B8%D0%B2%D1%8B%D1%85
[4]:
https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%B4%D0%B8%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B5_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B#.D0.9C.D0.B5.D1.82.D0.BE.D0.B4_.D0.BD.D0.B0.D0.B8.D1.81.D0.BA.D0.BE.D1.80.D0.B5.D0.B9.D1.88.D0.B5.D0.B3.D0.BE_.D1.81.D0.BF.D1.83.D1.81.D0.BA.D0.B0_.28.D0.BC.D0.B5.D1.82.D0.BE.D0.B4_.D0.B3.D1.80.D0.B0.D0.B4.D0.B8.D0.B5.D0.BD.D1.82.D0.B0.29
[5]:
https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9D%D1%8C%D1%8E%D1%82%D0%BE%D0%BD%D0%B0
[6]:
https://basegroup.ru/community/glossary/lsm
[7]:
http://tex.s2cms.ru/svg/%0D%0A%5Cfrac%7B1%7D%7B2%7D%5Csum%20%5Climits_%7Bi%3D1%7D%5E%7BN%7D%28y_i%27-y_i%29%5E2%20%3D%20%5Cfrac%7B1%7D%7B2%7D%5Csum%20%5Climits_%7Bi%3D1%7D%5E%7BN%7Dr_i%5E2%20%5Ctag%7B1%7D%0D%0A
[8]:
https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9B%D0%B5%D0%B2%D0%B5%D0%BD%D0%B1%D0%B5%D1%80%D0%B3%D0%B0_%E2%80%94_%D0%9C%D0%B0%D1%80%D0%BA%D0%B2%D0%B0%D1%80%D0%B4%D1%82%D0%B0
[9]:
https://github.com/lightforever/Levenberg_Manquardt
[10]:
https://habrahabr.ru/post/308626/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut