您的位置:首页 > 其它

机器学习笔记1-Supervised learning

2016-09-03 13:23 351 查看
本文来自斯坦福大学公开课CS229,Andrew Ng学习笔记

1.1 引言

从一个房屋面积和价格的关系入手,房屋面积和价格的数据集如下:



图形化的数据如下:



从这个数据集中,我们如何构建模型预测房价和面积的关系呢?

为了方便后面的描述,先引入一些表示方法。

x(i) –input features

y(i) –output,target variable

{(x(i),y(i));i=1,2,…,m} –training set

X –space of input values

Y –space of output values

supervised learning可以描述为从给定的训练集中学习一个从X到Y的映射关系h(x),使得h(x)与对应的y而言是一个好的预测。如下图所示:



当target variable的取值是连续(continuous)的,我们称此learning problem为regression problem,如果target variable的取值是离散的(discrete),我们称此learning problem为classification problem.

1.2 Linear Regression

在房屋数据集中引入新的维度:房屋的bedrooms,更新后的数据如下:



用x1(i) 表示第i个房间的面积,x2(i) 第i个房间的bedrooms的数目,首先假设房屋价格与房屋面积和bedrooms的关系如下:

hθ(x)=θ0+θ1∗x1+θ2∗x2

上式可以简写为:

h(x)=∑ni=0θi∗xi=θT∗x 其中x0=1

h(xi)与yi 的训练函数:

J(θ)=12∑mi=0(hθ(x)−yi)2

1.2.1 LMS(least mean squares) algorithm

首先给出一个初始的猜测的θ 值,然后通过gradient descent 算法不断的迭代修改θ ,直至J(θ)取得最小值。θ 的更新公式:

θj:=θj−αδδθjJ(θ)(j=1,2,...n)

考虑只有一个训练集(x,y)的情况:

δδθjJ(θ)=δδθj(hθ(x)−y)2

=(hθ(x)−y)δδθj(hθ(x)−y)

=(hθ(x)−y)xj

单个训练样本的更新公式:

θj:=θj−α(hθ(x)−y)xj(j=1,2,...n)

多于一个训练样本的情况:

方法一:

Repeat until convergence {

θj:=θj−α∑mi=0(hθ(x)−y)xj(j=1,2,...n)

}

方法二:

Repeat until convergence {

for i=1 to m {

θj:=θj−α(hθ(x)−y)xj(j=1,2,...n)

}

}

通常情况下,方法二比方法一收敛的速度更快,因此当样本集数量较大时,通常会选择方法二。

1.2.2 The normal equations

先引入一系列定义:

f:Rm∗n−>R f是将 m*n维向量映射到实数空间的相对于矩阵A的导数定义如下:

ΔAf(A)=⎡⎣⎢⎢⎢⎢⎢⎢⎢δfδA11⋮δfδAm1⋯⋱⋯δfδA1n⋮δfδAmn⎤⎦⎥⎥⎥⎥⎥⎥⎥

矩阵trace:

假设n*n的方阵A,trace(A)=∑i=0nAii,对于实数a,tr(a)=a.

trace性质:

1) A、B均为方阵,则有trAB=trBA

2) trABC=trBCA=trCAB, rABCD=trBCDA=trCDAB=trDABC

3) trA=trAT

4) tr(A+B) = trA + trB

5) tr(aA)=a*trA

6) ΔAtrAB=BT

7) ΔATf(A)=(ΔAf(A))T

8) ΔAtrABATC=CAB+CTABT(涉及到复合函数求导,参考https://en.wikipedia.org/wiki/Matrix_calculus

9) ΔA|A|=|A|(A−1)T(待证明)

以上述矩阵为基础,重新定义J(θ),

样本矩阵:

X=⎡⎣⎢⎢⎢⎢⎢(x(1))T(x(2))T⋮(x(m))T⎤⎦⎥⎥⎥⎥⎥

target values:

Y=⎡⎣⎢⎢⎢⎢⎢y(1)y(2)⋮y(m)⎤⎦⎥⎥⎥⎥⎥

Xθ−Y=⎡⎣⎢⎢⎢⎢⎢(x(1))Tθ(x(2))Tθ⋮(x(m))Tθ⎤⎦⎥⎥⎥⎥⎥−⎡⎣⎢⎢⎢⎢⎢y(1)y(2)⋮y(m)⎤⎦⎥⎥⎥⎥⎥

=⎡⎣⎢⎢⎢⎢⎢hθ(x(1))−y(1)hθ(x(2))−y(2)⋮hθ(x(m))−y(m)⎤⎦⎥⎥⎥⎥⎥

由于zTz=∑izi2可得出:

12(Xθ−Y)T(Xθ−Y)=12∑i=1m(hθ(x(m))−y(m))2

=J(θ)

minimize J

ΔθJ(θ)=Δθ12(Xθ−Y)T(Xθ−Y)

=12Δθ(θTXTXθ−θTXTY−YTXθ+YTY)

(tr(a)=a)

=12Δθtr(θTXTXθ−θTXTY−YTXθ+YTY)

(trA=trAT)

=12Δθ(trθTXTXθ−2trYTXθ)

ΔATtrABATC=BTATCT+BATCwithAT=θ,B=BT=XTX,C=I

=12(XTXθ+XTXθ−2XTY)

=XTXθ−XTY

令ΔθJ(θ)=0

XTXθ=XTY

θ=(XT)X−1XTY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: