【机器学习】正规方程的推导

正规方程的推导



前言

本文主要介绍正规方程的数学推导,也回顾一些基本的线性代数的一些知识,便于自身查阅。


一、矩阵转置公式与求导公式

1.转置公式如下:

  • ( m A ) T = m A T (m A)^T = mA^T (mA)T=mAT,其中m是常数
  • ( A + B ) T = A T + B T (A + B)^T = A^T + B^T (A+B)T=AT+BT
  • ( A B ) T = B T A T (AB)^T = B^TA^T (AB)T=BTAT
  • ( A T ) T = A (A^T)^T = A (AT)T=A

2.求导公式如下:

  • ∂ X T ∂ X = I \frac{\partial{X^T}}{\partial X} = I XXT=I求解出来是单位矩阵
  • ∂ X T A ∂ X = A \frac{\partial{X^TA}}{\partial X} = A XXTA=A
  • ∂ A X T ∂ X = A \frac{\partial{AX^T}}{\partial X} = A XAXT=A
  • ∂ A X ∂ X = A T \frac{\partial{AX}}{\partial X} = A^T XAX=AT
  • ∂ X A ∂ X = A T \frac{\partial{XA}}{\partial X} = A^T XXA=AT
  • ∂ X T A X ∂ X = ( A + A T ) X \frac{\partial{X^TAX}{\partial X}} = (A + A^T)X =XTAXX(A+AT)X;A不是对称矩阵
  • ∂ X T A X ∂ X = 2 A X \frac{\partial{X^TAX}}{\partial X} = 2AX XXTAX=2AX;A是对称矩阵

二、推导正规方程 θ \theta θ的解

1.矩阵乘法展开

  • J ( θ ) = 1 2 ∑ i = 0 n ( h θ ( x i ) − y ) ( h θ ( x i ) − y ) J(\theta) = \frac{1}{2}\sum_{i = 0}^{n}(h_\theta(x_i) - y)(h_\theta(x_i) - y) J(θ)=21i=0n(hθ(xi)y)(hθ(xi)y)
  • J ( θ ) = 1 2 ( X θ − y ) ( X θ − y ) J(\theta) = \frac{1}{2}(X\theta -y )(X\theta - y) J(θ)=21(y)(y)
  • J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta) = \frac12(X\theta -y )^T(X\theta - y) J(θ)=21(y)T(y)
  • J ( θ ) = 1 2 ( θ T X T − y T ) ( X θ − y ) J(\theta) = \frac{1}{2}(\theta ^ TX^T - y^T)(X\theta - y) J(θ)=21(θTXTyT)(y)
  • J ( θ ) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) J(\theta) = \frac{1}{2}(\theta^TX^T X\theta - \theta^TX^Ty - y^TX\theta + y^Ty) J(θ)=21(θTXTθTXTyyT+yTy)

2.进行求导(左右对 θ \theta θ进行求导)

  • J ′ ( θ ) = 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ′ J'(\theta) = \frac{1}{2}(\theta^TX^T X\theta - \theta^TX^Ty - y^TX\theta + y^Ty)' J(θ)=21(θTXTθTXTyyT+yTy)
  • J ′ ( θ ) = 1 2 ( X T X θ + ( θ T X T X ) T − X T y − ( y T X ) T ) J'(\theta) = \frac{1}{2}(X^TX\theta + (\theta ^ TX ^ T X)^T - X ^ T y - (y^T X)^T) J(θ)=21(XT+(θTXTX)TXTy(yTX)T)
  • J ′ ( θ ) = 1 2 ( X T X θ + X T X θ − X T y − X T y ) J'(\theta) = \frac{1}{2}(X^T X \theta + X^TX\theta - X^Ty - X^Ty) J(θ)=21(XT+XTXTyXTy)
  • J ′ ( θ ) = 1 2 ( 2 X T X θ − 2 X T y ) J'(\theta) = \frac{1}{2}(2X^TX\theta - 2X^Ty) J(θ)=21(2XT2XTy)
  • J ′ ( θ ) = X T X θ − X T y J'(\theta) = X^TX\theta - X^Ty J(θ)=XTXTy
  • J ′ ( θ ) = X T ( X θ − y ) J'(\theta) = X^T(X\theta - y) J(θ)=XT(y)

3.令 J ′ ( θ ) = 0 J'(\theta) = 0 J(θ)=0,即取得极值的时候

  • 0 = X T X θ − X T y 0 = X^TX\theta - X^Ty 0=XTXTy
  • X T X θ = X T y X^TX\theta = X^Ty XT=XTy
  • θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

三、凸函数的判定

判定损失函数是凸函数的好处在于我们可以很肯定的知道我们求得的极值就是最优解,一定是全局最优解
对于正规方程在导函数的基础上再次对 θ \theta θ来求偏导,结果就是 X T X X^TX XTX如下所示:
J ′ ( θ ) = X T X θ − X T y J'(\theta) = X^TX\theta - X^Ty J(θ)=XTXTy
J ′ ′ ( θ ) = X T X J''(\theta) = X^TX J′′(θ)=XTX
如何判定凸函数,一般采用黑塞矩阵,是由目标函数在点X处的二阶偏导数组成的对称矩阵是否是半正定的
这里又涉及到正定和半正定的概念:

  • 正定矩阵:X如果为正定矩阵,那么 X T X X^TX XTX的特征值全为正数
  • 半正定矩阵:X如果为半正定矩阵,那么 X T X X^TX XTX的特征值大于或者等于0
    我们所推导的正规方程,由于是自己和自己相乘,所以得到的结果必定是大于等于0的,因此为凸函数。
  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值