机器学习入门之----线性回归(正规方程)

Posted qizhien

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习入门之----线性回归(正规方程)相关的知识,希望对你有一定的参考价值。

再谈最小平方问题

有了矩阵求导工具后,我们可以寻找最小化损失函数的参数值的闭式解(closed-form solution)。首先我们先把这个损失函数表达成向量的形式。

把每个训练样本放在矩阵一行,可以得到一个\(m \times n\) 设计矩阵\(X\) (design matrix) ,即
\[ X=\left[ \beginarrayc -\left(x^(1)\right)^T- \\ -\left(x^(2)\right)^T- \\ \vdots \-\left(x^(m)\right)^T- \endarray \right] \]
$\vecy $ 是一个$m $ 维的列向量,包含对应的标签,
\[ \vecy=\left[\beginarraycy^(1) \\ \vdots \\ y^(m)\endarray\right] \]
因此,有,
\[ \beginaligned X \theta-\vecy &= \left[\beginarrayc\left(x^(1)\right)^T \theta \\ \vdots \\ \left(x^(m)\right)^T \theta\endarray\right]-\left[\beginarraycy^(1) \\ \vdots \\ y^(m)\endarray\right] \\ &=\left[\beginarraych_\theta\left(x^(1)\right)-y^(1) \\ \vdots \\ h_\theta\left(x^(m)\right)-y^(m)\endarray\right] \endaligned \]
我们先把均方误差损失函数\(J(\theta)=\frac12 \sum_i=1^m\left(h_\theta\left(x^(i)\right)-y^(i)\right)^2\) 表达成向量的形式,有,
\[ \beginaligned \frac12(X \theta-\vecy)^T(X \theta-\vecy) &=\frac12 \sum_i=1^m\left(h_\theta\left(x^(i)\right)-y^(i)\right)^2 \\ &= J(\theta) \endaligned \]
可以看到这个损失函数其实是关于向量参数\(\theta\) 的矩阵函数。利用之前矩阵求导的两条性质,
\[ \beginequation \beginaligned \nabla_A^T f(A) &=\left(\nabla_A f(A)\right)^T \\nabla_A \operatornametrA B A^T C &=C A B+C^T A B^T \\ \endaligned \endequation \]
我们可以有,
\[ \beginequation \beginaligned \nabla_A^T \operatornametrA B A^T C &= B^TA^TC^T+BA^TC \\ \endaligned\endequation \]
接下来对损失函数关于参数向量\(\theta\) 求导我们有,
\[ \beginaligned \nabla_\theta J(\theta) &=\nabla_\theta \frac12(X \theta-\vecy)^T(X \theta-\vecy) \\ &=\frac12 \nabla_\theta\left(\theta^T X^T X \theta-\theta^T X^T \vecy-\vecy^T X \theta+\vecy^T \vecy\right) \&=\frac12 \nabla_\theta \operatornametr\left(\theta^T X^T X \theta-\theta^T X^T \vecy-\vecy^T X \theta+\vecy^T \vecy\right) \\ &=\frac12 \nabla_\theta\left(\operatornametr \theta^T (X^T X) \theta I-2 \operatornametr \vecy^T X \theta\right) \\ &=\frac12\left(X^T X \theta+X^T X \theta-2 X^T \vecy\right) \&=X^T X \theta-X^T \vecy \endaligned \]
第三个等式用到一个标量的迹就是它本身。第五个等式前半部分用到了上面的性质$\nabla_A^T \operatornametrA B A^T C = B^TA^TC^T+BA^TC $ ,而后半部分用到$\nabla_A\operatornametrA B =B^T $ 。

我们令这个导数等于零,就得到正规方程(normal equations),
\[ \beginequation\beginaligned X^T X \theta=X^T \vecy \endaligned\endequation \]
最后可以得到参数的闭式解,
\[ \beginequation\beginaligned \theta=(X^T X)^-1X^T \vecy \endaligned\endequation \]
打完,收工。

技术图片

以上是关于机器学习入门之----线性回归(正规方程)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习入门系列二(关键词:多变量(非)线性回归,批处理,特征缩放,正规方程)

机器学习线性回归的损失和优化

正规方程,梯度下降,岭回归——机器学习

正规方程,梯度下降,岭回归——机器学习

机器学习—— 线性回归

机器学习:线性回归——理论与代码实现(基于正规方程与梯度下降)