机器学习笔记1-Supervised learning

本文来自斯坦福大学公开课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+θ1x1+θ2x2
上式可以简写为:
h(x)=ni=0θixi=θTx 其中 x0=1
h(xi) yi 的训练函数:
J(θ)=12mi=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:Rmn>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|(A1)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)=12i=1m(hθ(x(m))y(m))2

=J(θ)

minimize J

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

=12Δθ(θTXTXθθTXTYYTXθ+YTY)

(tr(a)=a)
=12Δθtr(θTXTXθθTXTYYTXθ+YTY)

( trA=trAT )
=12Δθ(trθTXTXθ2trYTXθ)

ΔATtrABATC=BTATCT+BATC with AT=θ,B=BT=XTX,C=I
=12(XTXθ+XTXθ2XTY)

=XTXθXTY

ΔθJ(θ)=0

XTXθ=XTY

θ=(XT)X1XTY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值