Stanford机器学习-Linear Regressioon with Multiple variables(2)

Normal equation

在前面我们使用的都是梯度下降的方法,此外还有一种叫做正规方程的方法,有时效果更好。
这里写图片描述
如果代价函数是有关于参数的二次方程这里写图片描述
如图所示:
这里写图片描述
我们就可以使代价函数的偏导数为零的方法来求得参数(微积分中类似于求极值的方式)。当代价函数为平方误差表达式时,我们同样可以对每一个参数求偏导得到一组参数列表,使得代价最小。
这里写图片描述
在预测房价的例子中,我们使用矩阵X来存储特征值,使用向量Y来存储Price,经过计算参数就可以使用图中红框中的表达式得到。
在Octave中写成:
这里写图片描述
那么梯度下降和正规方程有什么区别呢?
这里写图片描述
从图中我们可以看出,梯度下降需要选取learning rate,而且需要多次迭代,但是在n很大时同样可以很好的工作;正规方程不需选择学习率,不需迭代,但是需要计算矩阵的逆,在n很大时速度会很慢,所以一般在n不太大时较为多的使用。
这里在计算矩阵的逆的时候就会碰到一种情况:
这里写图片描述
即矩阵有时会是不可逆的,称为奇异退化矩阵,但是在Octave中同样可以使用函数pinv计算出来,原因一般是因为特征太多或是存在线性相关的特征参数。
这里写图片描述
为了避免这个问题,我们通常可以删除多余的特征或是使用正则化。

猜你喜欢

转载自blog.csdn.net/Forlogen/article/details/79877183