在学习机器学习的线性回归的过程中,一直有个疑惑,就是书上说我们可以通过最小二乘法来求得最后的w参数。但是在很多资料中会显示说我们需通过梯度下降来求得最终的w。这儿就关于这个问题做个说明。
其实,对于书上的例子,数据集都是比较小的。我们完全可以通过书上得到的最终的标准方程一步就能求出参数w,而不需要迭代的过程,这比梯度下降快很多呢。但是,这完全是在数据集较小的时候。如果数据集比较大呢?使用标准方程可能就不是一个好的方法了,这个时候就需要用到梯度下降思想了。接下来就对梯度下降和标准方程做个说明:
优缺点 | 梯度下降 | 标准方程 |
优点 | 1. 对特征庞大的数据处理 2. 能运算在大多数算法优化问题 | 1. 对特征较少的数据集处理 2. 不需要对数据进行特征缩放 |
缺点 | 1. 需要调整学习速率以及对数据进行特征缩放; 2. 多次迭代 | 1. 数据特征很多时,计算速度很慢 2, 不适用于某些复杂的算法 |
所以,在选择线性回归算法中w的求解时,我们一般会选择用梯度下降算法,而不是直接使用标准方程,即使它在处理小数据时比较快。