我一直很困惑“最小二乘法”、“梯度下降法”、“最大似然估计法”到底是机器学习中求解参数的方法,还是最优化的方法?
(1)狭义的最小二乘法,是线性假设下的一种有闭式解的参数
求解方法,最终结果为全局最优;
(2)梯度下降法,是假设条件更为广泛(无约束)的,一种通过迭代更新来逐步进行的参数 优化方法,最终结果为局部最优;
(3)广义的最小二乘准则,是一种对于偏差程度的评估准则,本质上一种目标函数(objective function),与上两者不同。
(2)梯度下降法,是假设条件更为广泛(无约束)的,一种通过迭代更新来逐步进行的参数 优化方法,最终结果为局部最优;
(3)广义的最小二乘准则,是一种对于偏差程度的评估准则,本质上一种目标函数(objective function),与上两者不同。
--------------------------------
(1)对最小二乘法直接求导找出全局最小值的方法即为Normal Equation解法。
(2)梯度下降法是一种迭代法,先对参数给定一个初始值,然后向梯度下降最快的方向调整,在若干次迭代之后找到全局最优或局部最优解。
------------------------------------------------------------
最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即,而非线性最小二乘没有closed-form,通常用迭代法求解。
迭代法,即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。高斯-牛顿法是另一种经常用于求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。
还有一种叫做Levenberg-Marquardt的迭代法用于求解非线性最小二乘问题,就结合了梯度下降和高斯-牛顿法。
所以如果把最小二乘看做是优化问题的话,那么梯度下降是求解方法的一种,是求解线性最小二乘的一种,高斯-牛顿法和Levenberg-Marquardt则能用于求解非线性最小二乘。
具体可参考维基百科( Least squares, Gradient descent, Gauss-Newton algorithm, Levenberg-Marquardt algorithm)