当前位置: 代码迷 >> 综合 >> 正规方程(Normal Equation)
  详细解决方案

正规方程(Normal Equation)

热度:14   发布时间:2023-12-16 06:47:46.0

1 什么是正规方程

大多数时候。我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案。如:
在这里插入图片描述
正规方程是通过求解下面的方程来找出使得代价函数最小的参数的:??θjJ(θj)=0\frac{\partial}{\partial \theta_{j}} J\left(\theta_{j}\right)=0 ?θj???J(θj?)=0
假设我们的训练集特征矩阵为 X(包含了 x0=1\ x_0=1 x0?=1)并且我们的训练集结果为向量 y\ y y,则利用正规方程解出向量θ=(XTX)?1XTy\theta=\left(X^{T} X\right)^{-1} X^{T} yθ=(XTX)?1XTy 。 上标 T 代表矩阵转置,上标 -1 代表矩阵的逆。

注 :页面最下部分有正规方程的推导过程

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

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

在这里插入图片描述
总结:只要特征变量的数目并不大,标准方程是一个很好的计算参数θ\ \theta θ 的替代方法。具体地说,只要特征变量数量小于一万,通常使用标准方程法,而不使用梯度下降法。



2 正规方程及不可逆性

1.如果矩阵不是方阵,比如是m?nm*nm?n矩阵,其中m<nm<nm<n

我们会使用一种叫做正则化的线性代数方法,通过删除某些特征或者是使用某些技术,来解决当 m 比 n 小的时候的问题。

2.方阵中存在线性相关,即互为线性函数。

当有一些多余的特征时,可以删除这两个重复特征里的其中一个,无须两个特征同时保留,将解决不可逆性的问题。



3 正规方程的推导过程

J(θ)=12m∑i=1m(hθ(x(i))?y(i))2J(\theta)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}J(θ)=2m1?i=1m?(hθ?(x(i))?y(i))2

其中:hθ(x)=θTX=θ0x0+θ1x1+θ2x2+…+θnxnh_{\theta}(x)=\theta^{T} X=\theta_{0} x_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\ldots+\theta_{n} x_{n}hθ?(x)=θTX=θ0?x0?+θ1?x1?+θ2?x2?++θn?xn?

将向量表达形式转为矩阵表达形式,则有J(θ)=12(Xθ?y)2J(\theta)=\frac{1}{2}(X \theta-y)^{2}J(θ)=21?(Xθ?y)2,其中 X 为 m 行 n 列的矩阵(m 为样本个数,n 为特征个数),θ\thetaθ为 n 行 1 列的矩阵,y 为 m 行 1 列的矩阵,对J(θ)J(\theta)J(θ)进行如下变换
在这里插入图片描述
接下来对J(θ)J(\theta)J(θ)偏导,需要用到以下几个矩阵的求导法则:
在这里插入图片描述
所以有:
在这里插入图片描述
?J(θ)?θ=0\frac{\partial J(\theta)}{\partial \theta}=0?θ?J(θ)?=0

则有θ=(XTX)?1XTy\theta=\left(X^{T} X\right)^{-1} X^{T} yθ=(XTX)?1XTy

  相关解决方案