在我们接触到梯度下降算法这一个算法时,求代价函数最小值时,通过求导来获得。因此对于代价函数的每个参数,我们分别对于他们做偏导。
如果特征越多,那么我们需要求解的偏导数也就越多。
因此,在特征比较少的情况下,我们可以通过矩阵运算的方式,来加快运算速度。
这种方法就是正规方程
他的定义如下:
X表示特征向量矩阵
X^T表示的是矩阵X的转置矩阵
(XT*X)-1,表示矩阵X的转置矩阵和它相乘得到的新的矩阵求逆
Y表示训练集中,结果矩阵
什么时候使用正规方程求解,什么时候使用梯度下降呢?
- 最关键的就是特征数量
Paste_Image.png
从图中,可以很清楚明白.但是并不是所有的线性回归都适合用正规方程,我们知道求解一个矩阵的逆复杂度为O(n3),因此当特征维度n非常大的时候(XT * X)-1需要O(n3)时间,此时选择正规方程效率将会特别低
当n < 1000时候选择正规方程比较合适,但是当n > 1000的时候使用梯度下降算法会是更佳的方案
网友评论