最小二乘法和梯度下降法有哪些区别?
通常我们所说的狭义最小二乘是指利用线性回归下的最小二乘准则(或称最小二乘)来求解线性拟合参数的矩阵形式的公式方法。 因此,这里的“最小二乘法”应该称为“最小二乘算法”或“最小二乘法”。 百度百科“最小二乘法”中对应的英文词条是“The less”。
这里,基于线性回归,有两个细节比较重要:
首先,线性回归的模型假设是最小二乘法优越性的前提。 否则,不能推断最小二乘是最佳(即最小方差)无偏估计。 详情请参考高斯-马尔可夫定理。 特别是,当随机噪声遵循正态分布时,最小二乘法相当于最大似然法。
其次普通最小二乘准则是,由于是线性回归/拟合,很容易找到全局最优封闭形式解,也就是我们通常看到的矩阵形式,输入数据可以一步计算出来。 而不是像梯度下降法或者牛顿法那样一点点迭代优化参数,最终到达极值点。
广义最小二乘法是指上述最小二乘准则。 它本质上是一个规则或者说,这里的“最小二乘法”应该称为“最小二乘规则”或“最小二乘法”。 “标准”英文可称为LSE(least error)。
比如我想优化一个深度神经网络DNN(Deep)的网络参数(也就是说,优化网络对于已知数据的拟合结果的正确性)。 我可以用最小二乘准则来衡量某个拟合结果吗? 与标准答案的偏差程度是多少? 能。 同时,由于DNN模型本身的复杂性,我们无法像线性拟合那样在理论和公式层面找到一种封闭的形式,因此需要引入所谓的BP算法(本质上是梯度下降法)参数化迭代解决方案。
但是(^_^),上面的例子虽然给出了串联使用最小二乘准则+梯度下降法的例子,但实际的拟合效果肯定会比较一般。 原因是DNN系统相当于非线性回归,所以最小平方乘法不好,但回归+最大似然=交叉熵准则Cross在DNN参数优化算法中更有效、更广泛。 当然,这是另一个话题了。
总结:
狭义的最小二乘法是线性假设下具有闭式解的参数求解方法,最终结果是全局最优;
梯度下降法假设更广泛(无约束)的条件,是一种通过迭代更新逐步进行的参数优化方法。 最终的结果是局部最优的;
广义最小二乘准则是偏差程度的评价准则,与上述两者不同。
由于水平有限,欢迎讨论和指正。