最小二乘法与梯度下降法的区别

最小二乘法与梯度下降法的区别? - CSDN博客   https://blog.csdn.net/qq_27514297/article/details/53508149

狭义的最小二乘法:指的是在线性回归下采用最小二乘准则(或者说叫做最小平方),进行线性拟合参数求解的、矩阵形式的公式方法。所以,这里的(最小二乘法)应叫做最小二乘算法)或者(最小二乘方法,百度百科【最小二乘法】词条中对应的英文为(The least squaremethod)

  这里,基于线性回归,有两个细节比较重要:

  第一,线性回归的模型假设。这是最小二乘方法的优越性前提,否则不能推出最小二乘是最佳(即方差最小)的无偏估计,具体请参考高斯-马尔科夫定理。特别地,当随机噪声服从正态分布时,最小二乘与最大似然等价。

  第二,由于是线性回归/拟合,因此可以很容易的求出全局最优的闭式解(close form solution)即:全局最优解,也即我们通常看到的那几个矩阵形式,给了(input data)可以一步到位计算出拟合参数,而不是像梯度下降法或者牛顿法那样一点点地迭代优化调参,最后到达极值点,即:局部最优解,二者得到的参数值可能会相同或特别接近。


  广义的最小二乘法:是最小二乘准则,本质上是一种evaluation rule或者说objective funcion,这里的「最小二乘法」应叫做(最小二乘法则)或者(最小二乘准则),英文可呼为LSE(least square error)。


  举个例子,我要优化一个深度神经网络DNN(Deep neural network)的网络参数(换言之,优化此网络对于已知数据拟合结果的正确性),可不可以用最小二乘准则去衡量某一拟合结果相对于标准答案的偏差程度呢?可以。而同时,由于DNN模型本身的复杂性,我们没有办法像线性拟合时那样,在理论和公式的层面求出一个close form solution,因此需要引入所谓的BP算法(实质上就是梯度下降法)进行参数的迭代求解。

      其他相关:

  上面虽然给出了最小二乘准则+梯度下降法串联使用的例子,但实际的拟合效果必定会比较一般,原因在于DNN这一体系相当于非线性回归,因此最小二乘不好,反而是logistic回归+最大似然=交叉熵准则Cross Entropy在DNN参数优化算法中的更有效和广泛一些。


综上:
  狭义的最小二乘方法,是线性假设下的一种有 闭式解的参数求解方法 ,最终结果为 全局最优
  梯度下降法,是假设条件更为广泛(无约束)的,一种 通过迭代更新来逐步进行的参数优化方法 ,最终结果为 局部最优

  广义的最小二乘准则,是一种对于偏差程度的评估准则,与上两者不同。

=================================================================================

从线性回归到最小二乘法和梯度下降法 - 简书  https://www.jianshu.com/p/1c86f9770aa7

最小二乘与极大似然的区别

  • 最小二乘法:即观测值与实际数据误差平方和最小,其没有假设,几何意义上就是距离最小

  • 最大似然估计:估计参数可能值,使样本发生概率最大

最小二乘求解

将 m 个 n 维样本组成矩阵 X,每行对应一个样本,每列对应一个维度,额外一维常数项,全为 1

目标函数

目标函数

对上式求梯度

最小二乘法与梯度下降法的区别_第1张图片
求梯度

令其最小,求驻点,则有

求驻点

梯度下降法 (Gradient Descent)

接下来我们使用梯度下降法来求解上文中的目标函数 J(θ) ​,步骤如下

  1. 随机初始化 ​θ

  2. 沿着负梯度方向迭代,使更新后的 θ​ 令 J(θ) ​ 更小,公式如下

    迭代公式

α 为学习率、步长

3.当下降到无法下降或某个定义的极小值时,则停止下降。

注:梯度下降的最终点并非是全局最小点,可能是一个局部最小点

=========================================================================

最小二乘法跟梯度下降法都是通过求导来求损失函数的最小值,那它们有什么区别呢。

   相同

  1.本质相同:两种方法都是在给定已知数据(independent & dependent variables)的前提下对dependent variables算出出一个一般性的估值函数。然后对给定新数据的dependent variables进行估算。
  2.目标相同:都是在已知数据的框架内,使得估算值与实际值的总平方差尽量更小(事实上未必一定要使用平方),估算值与实际值的总平方差的公式为:

                             

   其中为第i组数据的independent variable,为第i组数据的dependent variable,为系数向量。


   不同

  实现方法和结果不同:最小二乘法是直接对求导找出全局最小,是非迭代法。而梯度下降法是一种迭代法,先给定一个,然后向下降最快的方向调整,在若干次迭代之后找到局部最小。梯度下降法的缺点是到最小点的时候收敛速度变慢,并且对初始点的选择极为敏感,其改进大多是在这两方面下功夫。

 机器学习中不使用第一种方法的原因主要是因为涉及方阵求逆——矩阵求逆的复杂度是O(N^3),其中,N为特征数目。次要原因是因为如果特征数目大于样本数目,则方阵是奇异矩阵,逆不存在(——这其实常常通过惩罚因子来解决)

===========================================================
最大似然估计:现在已经拿到了很多个样本(你的数据集中所有因变量),这些样本值已经实现,最大似然估计就是去找到那个(组)参数估计值,使得前面已经实现的样本值发生概率最大。因为你手头上的样本已经实现了,其发生概率最大才符合逻辑。这时是求样本所有观测的联合概率最大化,是个连乘积,只要取对数,就变成了线性加总。此时通过对参数求导数,并令一阶导数为零,就可以通过解方程(组),得到最大似然估计值。
最小二乘:找到一个(组)估计值,使得实际值与估计值的距离最小。本来用两者差的绝对值汇总并使之最小是最理想的,但绝对值在数学上求最小值比较麻烦,因而替代做法是,找一个(组)估计值,使得实际值与估计值之差的平方加总之后的值最小,称为最小二乘。“二乘”的英文为least square,其实英文的字面意思是“平方最小”。这时,将这个差的平方的和式对参数求导数,并取一阶导数为零,就是OLSE。


作者:稻花香
链接:https://www.zhihu.com/question/20447622/answer/23848605
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。







你可能感兴趣的:(最小二乘法与梯度下降法的区别)