1.正规方程

到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案。如:
在这里插入图片描述
正规方程是通过求解下面的方程来找出使得代价函数最小的参数的:∂∂θjJ(θj)=0\frac{\partial}{\partial \theta_j} J(\theta_j) = 0θjJ(θj)=0
假设我们的训练集特征矩阵为 X(包含了 x0 = 1)并且我们的训练集结果为向量 Y,则利用正规方程解出向量 θ=(XTX)−1XTY θ = (X^T X)^{-1} X^T Y θ=(XTX)1XTY
上标 T 代表矩阵转置,上标-1代表矩阵的逆。设矩阵A = XTXX^TXXTX,则:(XTX)−1=A−1(X^TX)^{-1}= A ^{-1}(XTX)1=A1
以下表示数据为例:
在这里插入图片描述
即:
在这里插入图片描述
运用正规方程方法求解参数:
在这里插入图片描述
注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺为单位的尺寸和米为单位的尺寸两个特征,也有可能是特征数量大于训练集的数量),正规方程方法是不能用的。

梯度下降 正规方程
需要选择学习率α 不需要
需要多次迭代 一次运算得出
当特征数量n大时也能较好适用 需要计算(XTX)−1(X^TX)^{-1}(XTX)1 如果特征数量n 较大则运算代价大,因为矩阵逆的计算时间复杂度 为o(n3)o(n^3)o(n3),通常来说当n小于10000 时还是可以接受的
适用于各种类型的模型 只适用于线性模型,不适合逻辑回归模型等其他模型

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

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

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐