线性回归的正规方程

线性回归的正规方程

  • 本文阐述线性回归的正规方程推导过程,为满足广义性,采用多变量的线性回归代价函数进行推导。

多变量线性回归的梯度下降算法是用来求其代价函数最小值的算法,但是对于某些线性回归问题,可以直接使用正规方程的方法来找出使得代价函数最小的参数,即 ∂ ∂ θ j J ( θ ) = 0 \frac{\partial}{\partial\theta_j}J(\theta)=0 θjJ(θ)=0
梯度下降与正规方程的比较:

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

首先给出线性回归的**代价函数(Cost Function)**的向量化表示:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta) = \frac{1}{2m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2
其中假设函数 h θ ( x ) = θ T X = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_\theta(x) = \theta^TX=\theta_0+\theta_1x_1+\theta_2x_2+...+\theta_nx_n hθ(x)=θTX=θ0+θ1x1+θ2x2+...+θnxn
m m m为样本总数,参数 θ \theta θ与特征矩阵 X X X均为 n + 1 n+1 n+1维列向量。

将假设函数代入,并将向量表达式转化为矩阵表达式,即将 ∑ i = 1 m \sum\limits_{i=1}^m i=1m写成矩阵相乘的形式:
J ( θ ) = 1 2 ( X θ − y ) 2 J(\theta) = \frac{1}{2}(X\theta-y)^2 J(θ)=21(Xθy)2
其中 X X X m m m n + 1 n+1 n+1列的矩阵, m m m为样本个数, n + 1 n+1 n+1为特征个数, θ \theta θ n + 1 n+1 n+1维行向量, y y y m m m维行向量。
由于 X X X非方阵,不存在逆矩阵,固对 J ( θ ) J(\theta) J(θ)进行如下变换:

J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta) = \frac{1}{2}(X\theta-y)^T(X\theta-y) J(θ)=21(Xθy)T(Xθy)
= 1 2 [ ( X θ ) T − y T ] ( X θ − y ) = \frac{1}{2}[(X\theta)^T-y^T](X\theta-y) =21[(Xθ)TyT](Xθy)
= 1 2 ( θ T X T − y T ) ( X θ − y ) = \frac{1}{2}(\theta^TX^T-y^T)(X\theta-y) =21(θTXTyT)(Xθy)
= 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) = \frac{1}{2}(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^Ty) =21(θTXTXθθTXTyyTXθ+yTy)

接下来对 J ( θ ) J(\theta) J(θ)求偏导,需要用到以下几个矩阵对矩阵的分母布局求导法则:
d A X d X = A T \frac{dAX}{dX}=A^T dXdAX=AT
d X T A X d X = 2 A X \frac{dX^TAX}{dX}=2AX dXdXTAX=2AX
d X T A d X = A \frac{dX^TA}{dX}=A dXdXTA=A

首先化简 ∂ ∂ θ J ( θ ) \frac{\partial}{\partial\theta}J(\theta) θJ(θ)
∂ ∂ θ J ( θ ) = 1 2 [ 2 X T X θ − X T y − ( y T X ) T + 0 ] \frac{\partial}{\partial\theta}J(\theta)=\frac{1}{2}[2X^TX\theta-X^Ty-(y^TX)^T+0] θJ(θ)=21[2XTXθXTy(yTX)T+0]
= 1 2 [ 2 X T X θ − X T y − X T y + 0 ] =\frac{1}{2}[2X^TX\theta-X^Ty-X^Ty+0] =21[2XTXθXTyXTy+0]
= X T X θ − X T y =X^TX\theta-X^Ty =XTXθXTy

再令 ∂ ∂ θ J ( θ ) = X T X θ − X T y = 0 \frac{\partial}{\partial\theta}J(\theta)=X^TX\theta-X^Ty=0 θJ(θ)=XTXθXTy=0
X T X θ − X T y = 0 X^TX\theta-X^Ty=0 XTXθXTy=0
X T X θ = X T y X^TX\theta=X^Ty XTXθ=XTy

不难发现, ( X T X ) (X^TX) (XTX)为方阵,则有 ( X T X ) (X^TX) (XTX)的逆矩阵 ( X T X ) − 1 (X^TX)^{-1} (XTX)1,固在等式两边同时左乘 ( X T X ) − 1 (X^TX)^{-1} (XTX)1,并求出 θ \theta θ
( X T X ) − 1 X T X θ = ( X T X ) − 1 X T y (X^TX)^{-1}X^TX\theta=(X^TX)^{-1}X^Ty (XTX)1XTXθ=(XTX)1XTy
( X T X ) − 1 ( X T X ) θ = ( X T X ) − 1 X T y (X^TX)^{-1}(X^TX)\theta=(X^TX)^{-1}X^Ty (XTX)1(XTX)θ=(XTX)1XTy
E θ = ( X T X ) − 1 X T y E\theta=(X^TX)^{-1}X^Ty Eθ=(XTX)1XTy
θ = ( X T X ) − 1 X T y \theta=(X^TX)^{-1}X^Ty θ=(XTX)1XTy
至此,完成线性回归的正规方程推导。

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值