CS229学习笔记(3)

CS229_3-正规方程


正规方程

上一小节中,我们使用批量梯度下降算法,通过不断迭代以求得最佳参数的值。本小节将介绍另一种方法——正规方程(The Normal Euqations)来计算出最佳参数的值。

在介绍正规方程法之前,我们先看看一些基本概念。

Matrix Derivatives

对于一个的矩阵到实数的函数映射,其关于的导数为:

\nabla_A f(A) = \left[ \begin{matrix} \frac{\partial f}{\partial A_{11}} & \dots & \frac{\partial f}{\partial A_{1n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f}{\partial A_{m1}} & \dots & \frac{\partial f}{\partial A_{mn}} \end{matrix} \right]

其中为的矩阵。

便于理解,我们不妨假设矩阵为:

函数映射为:

根据上述公式,我们可得:

对于矩阵A,我们将矩阵A对角线上元素的和定义为矩阵A的迹:

其中若矩阵A为,即为一实数,则其迹为本身,。

一些常用性质如下:

结合矩阵导数的概念有如下性质:

其中等式(1)要求为方阵;等式(3)要求为方阵;等式(4)要求矩阵A为非奇异矩阵,即可逆;表示矩阵A的行列式。

Least Squares Revisited

好了,现在让我们开始介绍正规方程法,以找到最佳参数的值最小化代价函数。

在给定训练集中,我们可构建一个维度为的矩阵,其中为样本个数,为每个样本的特征变量个数。

同样,向量为:

根据,我们可得:

\begin{aligned} X\theta - Y &= \begin{bmatrix} (x^{(1)})^T\theta \\ (x^{(2)})^T\theta \\ \vdots \\ (x^{(m)})^T\theta \end{bmatrix} - \begin{bmatrix} (y^{(1)})^T \\ (y^{(2)})^T \\ \vdots \\ (y^{(m)})^T \end{bmatrix} \\ &= \left[ \begin{matrix} h_\theta(x^{(1)}) - y^{(1)} \\ h_\theta(x^{(2)}) - y^{(2)} \\ \vdots \\ h_\theta(x^{(m)}) - y^{(m)} \end{matrix} \right] \end{aligned}

又因为对于向量,有。故我们可得:

所以,我们对代价函数求偏导,可得:

\begin{align} \nabla_\theta J(\theta) &= \frac{1}{2}\nabla_\theta (\theta^TX^T - Y^T)(X\theta - Y) \tag{1} \\ &= \frac{1}{2}\nabla_\theta (\theta^TX^TX\theta - \theta^TX^TY - Y^TX\theta + Y^TY) \tag{2} \\ &= \frac{1}{2}\nabla_\theta tr(\theta^TX^TX\theta - \theta^TX^TY - Y^TX\theta + Y^TY) \tag{3} \\ &= \frac{1}{2}\nabla_\theta (tr\theta^TX^TX\theta - 2trY^TX\theta) \tag{4} \\ &= \frac{1}{2}(X^TX\theta + X^TX\theta - 2X^TY) \tag{5} \\ &= X^TX\theta - X^TY \tag{6} \end{align}

其中等式(1)类似于完全平方展开得到等式(2);等式(2)应用得到等式(3);等式(3)应用为实数,且实数的转置为其本身,从而得到等式(4);等式(4)应用,和得到等式(5)。

最后,我们令该偏导为可得:

从而,我们求出了参数的值。

你可能感兴趣的:(CS229学习笔记(3))