线性回归的参数详解(吴恩达老师课程笔记系列第18节-多变量线性回归之正规方程)

第18节-多变量线性回归之正规方程,下面我们就来说一说关于线性回归的参数详解?我们一起去了解并探讨一下这个问题吧!

线性回归的参数详解(吴恩达老师课程笔记系列第18节-多变量线性回归之正规方程)

线性回归的参数详解

第18节-多变量线性回归之正规方程

正规方程

参考视频: 4 - 6 - Normal Equation (16 min).mkv

到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案。如:

正规方程是通过求解下面的方程来找出使得代价函数最小的参数的:

假设我们的训练集特征矩阵为 X(包含了x0=1 )并且我们的训练集结果为向量 y,则利用正规方程解出向量

上标T代表矩阵转置,上标-1 代表矩阵的逆。设矩阵

则:

以下表示数据为例:

即:

运用正规方程方法求解参数:

Octave 中,正规方程写作:

pinv(X'*X)*X'*y

注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺为单位的尺寸和米为单位的尺寸两个特征,也有可能是特征数量大于训练集的数量),正规方程方法是不能用的。

梯度下降与正规方程的比较:

总结一下,只要特征变量的数目并不大,标准方程是一个很好的计算参数的替代方法。具体地说,只要特征变量数量小于一万,我通常使用标准方程法,而不使用梯度下降法。

随着我们要讲的学习算法越来越复杂,例如,当我们讲到分类算法,像逻辑回归算法,我们会看到,实际上对于那些算法,并不能使用标准方程法。对于那些更复杂的学习算法,我们将不得不仍然使用梯度下降法。因此,梯度下降法是一个非常有用的算法,可以用在有大量特征变量的线性回归问题。或者我们以后在课程中,会讲到的一些其他的算法,因为标准方程法不适合或者不能用在它们上。但对于这个特定的线性回归模型,标准方程法是一个比梯度下降法更快的替代算法。所以,根据具体的问题,以及你的特征变量的数量,这两种算法都是值得学习的。

正规方程的python实现:

import numpy as np def normalEqn(X, y): theta = np.linalg.inv(X.T@X)@X.T@y #X.T@X等价于X.T.dot(X) return theta

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页