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

    狭义的最小二乘法:指的是在线性回归下采用最小二乘准则(或者说叫做最小平方),进行线性拟合参数求解的、矩阵形式的公式方法。所以,这里的(最小二乘法)应叫做最小二乘算法)或者(最小二乘方法,百度百科【最小二乘法】词条中对应的英文为(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参数优化算法中的更有效和广泛一些。


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

你可能感兴趣的:(数据挖掘,机器学习)