梯度下降和最小二乘总结

梯度下降:

  1,批量梯度(BGD),随机梯度下降法(SGD),小批量梯度下降法(MBGD)的区别

  2,和最小二乘比较

    1,梯度下降法需要选择步长,而最小二乘法不需要。

    2,梯度下降法是迭代求解,最小二乘法是计算解析解。

    3,最小二乘仅适用数据量较小的情况下

  3,和牛顿法比较

    1,梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。

    2,相对而言,使用牛顿法/拟牛顿法收敛更快。但是每次迭代的时间比梯度下降法长。

最小二乘:

  1,最小二乘法需要计算XTX的逆矩阵,有可能它的逆矩阵不存在,这样就没有办法直接用最小二乘法了,此时梯度下降法仍然可以使用。当然,我们可以通过对样本数据进行整理,去掉冗余特征。让XTX的行列式不为0,然后继续使用最小二乘法。

  2,当样本特征n非常的大的时候,计算XTX的逆矩阵是一个非常耗时的工作(n x n的矩阵求逆),甚至不可行。此时以梯度下降为代表的迭代法仍然可以使用。那这个n到底多大就不适合最小二乘法呢?如果你没有很多的分布式大数据计算资源,建议超过10000个特征就用迭代法吧。或者通过主成分分析降低特征的维度后再用最小二乘法。

  3,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用,此时梯度下降仍然可以用。

猜你喜欢

转载自www.cnblogs.com/xueyunqing/p/10416575.html