新手最容易混淆的概念最小二乘法

版权声明:本文为博主原创文章,欢迎大家转载,但是要注明我的文章地址。 https://blog.csdn.net/program_developer/article/details/79952495
我一直很困惑“最小二乘法”、“梯度下降法”、“最大似然估计法”到底是机器学习中求解参数的方法,还是最优化的方法?
(1)狭义的最小二乘法,是线性假设下的一种有闭式解的参数求解方法,最终结果为全局最优;
(2)梯度下降法,是假设条件更为广泛(无约束)的,一种通过迭代更新来逐步进行的参数优化方法,最终结果为局部最优;
(3)广义的最小二乘准则,是一种对于偏差程度的评估准则,本质上一种目标函数(objective function),与上两者不同。

--------------------------------

(1)对最小二乘法直接求导找出全局最小值的方法即为Normal Equation解法。

(2)梯度下降法是一种迭代法,先对参数给定一个初始值,然后向梯度下降最快的方向调整,在若干次迭代之后找到全局最优或局部最优解。

------------------------------------------------------------

最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即x=(A^T A)^{-1}A^Tb,而非线性最小二乘没有closed-form,通常用迭代法求解。

迭代法,即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。高斯-牛顿法是另一种经常用于求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。

还有一种叫做Levenberg-Marquardt的迭代法用于求解非线性最小二乘问题,就结合了梯度下降和高斯-牛顿法。

所以如果把最小二乘看做是优化问题的话,那么梯度下降是求解方法的一种,x=(A^T A)^{-1}A^Tb是求解线性最小二乘的一种,高斯-牛顿法和Levenberg-Marquardt则能用于求解非线性最小二乘。

具体可参考维基百科(Least squares, Gradient descent, Gauss-Newton algorithm, Levenberg-Marquardt algorithm
Reference链接:https://www.zhihu.com/question/20822481/answer/23648885
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页