正规方程的推导
文章目录
前言
本文主要介绍正规方程的数学推导,也回顾一些基本的线性代数的一些知识,便于自身查阅。
一、矩阵转置公式与求导公式
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 ∂X∂XT=I求解出来是单位矩阵
- ∂ X T A ∂ X = A \frac{\partial{X^TA}}{\partial X} = A ∂X∂XTA=A
- ∂ A X T ∂ X = A \frac{\partial{AX^T}}{\partial X} = A ∂X∂AXT=A
- ∂ A X ∂ X = A T \frac{\partial{AX}}{\partial X} = A^T ∂X∂AX=AT
- ∂ X A ∂ X = A T \frac{\partial{XA}}{\partial X} = A^T ∂X∂XA=AT
- ∂ X T A X ∂ X = ( A + A T ) X \frac{\partial{X^TAX}{\partial X}} = (A + A^T)X =∂XTAX∂X(A+AT)X;A不是对称矩阵
- ∂ X T A X ∂ X = 2 A X \frac{\partial{X^TAX}}{\partial X} = 2AX ∂X∂XTAX=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(θ)=21∑i=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(Xθ−y)(Xθ−y)
- J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta) = \frac12(X\theta -y )^T(X\theta - y) J(θ)=21(Xθ−y)T(Xθ−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(θTXT−yT)(Xθ−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(θTXTXθ−θTXTy−yTXθ+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(θTXTXθ−θTXTy−yTXθ+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(XTXθ+(θTXTX)T−XTy−(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(XTXθ+XTXθ−XTy−XTy)
- J ′ ( θ ) = 1 2 ( 2 X T X θ − 2 X T y ) J'(\theta) = \frac{1}{2}(2X^TX\theta - 2X^Ty) J′(θ)=21(2XTXθ−2XTy)
- J ′ ( θ ) = X T X θ − X T y J'(\theta) = X^TX\theta - X^Ty J′(θ)=XTXθ−XTy
- J ′ ( θ ) = X T ( X θ − y ) J'(\theta) = X^T(X\theta - y) J′(θ)=XT(Xθ−y)
3.令 J ′ ( θ ) = 0 J'(\theta) = 0 J′(θ)=0,即取得极值的时候
- 0 = X T X θ − X T y 0 = X^TX\theta - X^Ty 0=XTXθ−XTy
- X T X θ = X T y X^TX\theta = X^Ty XTXθ=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′(θ)=XTXθ−XTy
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的,因此为凸函数。