美文网首页
正规方程(Normal Equation)的数学证明

正规方程(Normal Equation)的数学证明

作者: iwuqing | 来源:发表于2019-07-11 20:52 被阅读0次

在线性回归(Linear Regression)问题中,我们可以通过梯度下降(Gradient Descent)来求解到最优参数。使用正规方程(Normal Equation)同样可以达到这一目的,正规方程不依靠迭代,可以一次性精准的求解最优参数。此文章证明过程参考自吴恩达斯坦福CSS229课程讲义note1。

1. 代价函数(Cost Function)

代价函数的向量形式

J(\theta) = \frac{1}{2}(X \theta-\vec{y})^{T}(X \theta-\vec{y})

  • X为输入特征(feature)
  • \theta为参数
  • y为训练数据真实值

2. 关于矩阵求导的基本公式

源自note1第9页

\begin{aligned} \nabla_{A} \operatorname{tr} A B &=B^{T} \\ \nabla_{A^{T}} f(A) &=\left(\nabla_{A} f(A)\right)^{T} \\ \nabla_{A} \operatorname{tr} A B A^{T} C &=C A B+C^{T} A B^{T} \\ \nabla_{A}|A| &=|A|\left(A^{-1}\right)^{T} \end{aligned}

由上式1与3可推导出

\nabla_{A^{T}} \operatorname{tr} A B A^{T} C=B^{T} A^{T} C^{T}+B A^{T} C

3. 证明

  1. 对代价函数求关于\theta的导数

\nabla_{\theta} J(\theta)=\nabla_{\theta} \frac{1}{2}(X \theta-\vec{y})^{T}(X \theta-\vec{y})

  1. 展开

\nabla_{\theta} J(\theta) =\frac{1}{2} \nabla_{\theta}\left(\theta^{T} X^{T} X \theta-\theta^{T} X^{T} \vec{y}-\vec{y}^{T} X \theta+\vec{y}^{T} \vec{y}\right)

  1. 由一个实数的迹是它本身,可得

\nabla_{\theta} J(\theta) =\frac{1}{2} \nabla_{\theta} \operatorname{tr}\left(\theta^{T} X^{T} X \theta-\theta^{T} X^{T} \vec{y}-\vec{y}^{T} X \theta+\vec{y}^{T} \vec{y}\right)

  1. 由于对\vec{y}^{T} \vec{y}求关于\theta的导数为0,及基本公式1,可得

\nabla_{\theta} J(\theta) =\frac{1}{2} \nabla_{\theta}\left(\operatorname{tr} \theta^{T} X^{T} X \theta-2 \operatorname{tr} \vec{y}^{T} X \theta\right)

  1. A^{T}=\theta, B=B^{T}=X^{T} X, C=E,结合基本公式5可得

\nabla_{\theta} J(\theta) =\frac{1}{2}\left(X^{T} X \theta+X^{T} X \theta-2 X^{T} \vec{y}\right)

\nabla_{\theta} J(\theta) = 0

即可得到正规方程

X^{T} X \theta=X^{T} \vec{y}

最后两边左乘\left(X^{T} X\right)^{-1}

\theta=\left(X^{T} X\right)^{-1} X^{T} \vec{y}

证明完成

4. 正规方程与梯度下降的对比

梯度下降 正规方程
需要选择超参数a 无超参数选择
多次迭代 一次求解
特征数比较大时,算法无太大影响 特征数大,算法运行时间长

相关文章

网友评论

      本文标题:正规方程(Normal Equation)的数学证明

      本文链接:https://www.haomeiwen.com/subject/qdsjkctx.html