3

线性回归(二)

 2 years ago
source link: https://ylhao.github.io/2018/05/19/138/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

线性回归(二)

创建时间:2018-05-19 15:47
字数:683 阅读:37
  1. mm:训练样本的数目
  2. (x(i),y(i))(x(i),y(i)):训练集中的第 i 个样本
  3. 令 x(i)=[x(i)1,x(i)2,…,x(i)n]T,x(i)∈Rnx(i)=[x1(i),x2(i),…,xn(i)]T,x(i)∈Rn
  4. 令 y(i)∈Ry(i)∈R
  5. 令 ω=[ω1,ω2,…,ωn]T,ω∈Rnω=[ω1,ω2,…,ωn]T,ω∈Rn

我们令假设函数为以下形式:
h(x(i))=ωTx(i)+bh(x(i))=ωTx(i)+b

为了推导方便,我们对 ωω 和 x(i)x(i) 做一个扩展;
x(i)=[x(i)1,x(i)2,…,x(i)n,1]T,x(i)∈R(n+1) ω=[ω1,ω2,…,ωn,b]T,ωi∈R(n+1)x(i)=[x1(i),x2(i),…,xn(i),1]T,x(i)∈R(n+1)ω=[ω1,ω2,…,ωn,b]T,ωi∈R(n+1)

那么假设函数就可以写成在“线性回归(一)”那篇文章中的形式了:
h(x(i))=ωTx(i) h(x(i))=ωTx(i)

J(ω)=12mm∑i=1(h(x(i))−y(i))2 =12mm∑i=1(ωTx(i)−y(i))2 J(ω)=12m∑i=1m(h(x(i))−y(i))2=12m∑i=1m(ωTx(i)−y(i))2

正规方程法推导过程

在“线性回归(一)”这篇文章中,我们写出目标函数后,直接用梯度下降法或者随机梯度下降法来优化目标函数。但是这里我们不这样做,接下来我们对目标函数进行一个改写,首先要定义一些符号,首先我们定义两个矩阵 XX 和 yy,其中 XX 矩阵的维度为 m×nm×n,yy 的维度为 m×1m×1:

y=[y(1),y(2),…,y(n)]Ty=[y(1),y(2),…,y(n)]T

我们可以进一步将目标函数写成以下形式:
J(ω)=(y−Xω)T(y−Xω)J(ω)=(y−Xω)T(y−Xω)

我们将目标函数写成了矩阵乘法的形式,但我们的目标仍然是找到一个 ωω 来最小化 J(ω)J(ω),我们用矩阵表示的平方误差对 ωω 进行求导:
∂J(ω)∂ω=∂(y−Xω)T(y−Xω)∂ω =∂(yTy−yTXω−ωTXTy+ωTXTXω)∂ω =∂yTy∂ω−∂yTXω∂ω−∂ωTXTy∂ω+∂ωTXTXω∂ω =0−XTy−∂(ωTXTy)T∂ω+2XTXω =0−XTy−∂yTXω∂ω+2XTXω =0−XTy−−XTy+2XTXω =2XT(y−Xω)∂J(ω)∂ω=∂(y−Xω)T(y−Xω)∂ω=∂(yTy−yTXω−ωTXTy+ωTXTXω)∂ω=∂yTy∂ω−∂yTXω∂ω−∂ωTXTy∂ω+∂ωTXTXω∂ω=0−XTy−∂(ωTXTy)T∂ω+2XTXω=0−XTy−∂yTXω∂ω+2XTXω=0−XTy−−XTy+2XTXω=2XT(y−Xω)

令上述公式等于 0,可得:
ˆω=(XTX)−1XTyω^=(XTX)−1XTy

可以发现我们通过求导,可以直接估计出 ωω,使得 J(ω)J(ω) 取得最优解。y以上公式的 ˆωω^ 表示对 ωω 的最佳估计。

值得注意的是,上述公式中包含逆矩阵,也就是说,这个方程只在逆矩阵存在的时候使用,但是我们并不能保证 XTXXTX 一定是可逆的。

  1. 《机器学习实战》
  2. Python3《机器学习实战》学习笔记(十一):线性回归基础篇之预测鲍鱼年龄

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以在文章下方的评论区进行评论,也可以邮件至 [email protected]

文章标题:线性回归(二)

文章字数:683

本文作者:ylhao

发布时间:2018-05-19, 15:47:24

最后更新:2019-06-07, 11:50:53

原始链接:https://ylhao.github.io/2018/05/19/138/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

0 条评论
Error: API rate limit exceeded for 141.164.63.164. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.).

来做第一个留言的人吧!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK