Levenberg–Marquardt algorithm

Levenberg-Marquardt又称莱文伯格-马夸特方法(Levenberg–Marquardt algorithm)能提供数非线性最小化(局部最小)的数值解。

此算法能借由执行时修改参数达到结合高斯-牛顿算法以及梯度下降法的优点,并对两者之不足作改善(比如高斯-牛顿算法之逆矩阵不存在或是初始值离局部极小值太远)。

为什么现在的神经网络训练很少用到Levenberg Marquardt算法?(来自知乎)

现在的神经网络Adam算法用的非常多,LM算法和Adam算法在性能上有什么区别?为什么在LM算法只在工程相关的文献用的比较多?

我看到的一些文献里几乎都是采用Levenberg-Marquardt算法训练NN。。。(土木领域)

Google Brain软件工程师

Levenberg-Marquardt算法是用来解决最小二乘(least square)问题的,但是当代神经网络里的很多常用的损失函数,比如cross entropy, 都不是二乘问题。

Levenberg Marquardt 是在矩阵的对角线上加一个weight,来解决least square 或者newton methods的时候矩阵不可逆问题的。LM针对的问题大多都是凸问题。

而神经网络是用来解决非凸问题的(也可以解决凸问题,但这就等同于拿大炮轰蚊子,还轰不准),Adam是一个optimizer,迭代优化权重的。

LM和Adam两者本身没有可比性,就像丰田车和本田发动机一样,不是一类东西。

原文地址:https://www.cnblogs.com/jiangkejie/p/10170748.html