首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习:正规方程(Normal Equation)的推导

机器学习:正规方程(Normal Equation)的推导

作者头像
烤粽子
发布2021-07-07 18:07:09
发布2021-07-07 18:07:09
1.7K0
举报

在coursera上看了Andrew Ng的《Machine Learning》课程,里面讲到了正规方程(Normal Equation),现在在此记录一下推导过程。 假设函数(Hypothesis Function)为:

h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n

此处我们可以令

x_0=1

.

代价函数(Cost Function):

J(\theta)=J(\theta_0,\ldots,\theta_n)=\frac {1} {2m} \sum_{i=1}^{m} {(h_\theta(x^{(i)})-y^{(i)})^2}

我们想要代价函数的最小解,对代价函数进行求导。因为对于向量我们有

z^Tz=\sum_{i} z_i^2

,所以:

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

因为

\frac {1} {2m}

部分对最终的解没影响,为了便于书写和计算,我们可以先将这部分舍去。对方程的转置进行化简:

J(\theta)=(\theta^TX^T-y^T)(X\theta-y)
J(\theta)=\theta^TX^TX\theta-(X\theta)^Ty-y^TX\theta+y^Ty

因为

x\theta和y

都是矢量,所以这两者相乘先后顺序没有关系,所以可以化简成:

J(\theta)=\theta^TX^TX\theta-2(X\theta)^Ty+y^Ty

接着方程

J(\theta)对\theta

进行求导:

\frac {\partial}{\partial\theta}J(\theta)=2X^TX\theta-2X^Ty=0

1

\frac {\partial}{\partial\theta}J(\theta)=0时,得到最合适\theta
X^TX\theta=X^Ty

两边同时乘以

X^TX

的逆矩阵,得:

\theta=(X^TX)^{-1}X^Ty

此即为正规方程。当

\theta=(X^TX)^{-1}X^Ty

时,代价方程有最优解。


  1. 关于矩阵、向量、标量的一些求导https://blog.csdn.net/xidianliutingting/article/details/51673207
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/08/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档