您的位置:首页 > 其它

机器学习笔记二:监督学习应用:梯度下降

2017-11-18 20:49 429 查看
机器学习笔记二:监督学习应用:梯度下降

例子:视频:算法学习司机驾驶实现自动驾驶

例子:房价预测

面积价格
2104400
1416232
1534315
852178
1940240
引入符号:

m:表示训练样本个数

x:输入变量(特征)

y:输出变量(目标变量)

(x,y):训练样本

第i个训练样本:(Xi,Yi)

一般解决过程:

Created with Raphaël 2.1.0训练集学习算法假设End

如何表示假设,这里选择线性表示:h(x)=θ0+θ1∗x

注意,一般的,对于 有n个特征的假设公式:h(x)=∑ni=0θi∗xi

评估参数选取:

J(θ)=12∑i=1m[hθ(xi)−yi]2

目标即是通过不断改变参数使得取得一个最小的值:minθJ(θ)

初始参数选择对梯度下降的影响:Matlab PPT例子:导致收敛于局部最优解

梯度下降法更新参数策略:迭代法更新

θi:=θi−∂∂∂θiJ(θ)

例子:针对仅有一个特征参数的情况

∂∂θiJ(θ)=∂∂θi12(hθ(x)−y)2=(hθ(x)−y)∂∂θi[hθ(x)−y]=(hθ(x)−y)∂∂θi[θ0x0+...+θixi+...+θnxn−y]=(hθ(x)−y)∗xi

更新:θi:=θi−α(hθ(x)−y)∗xi

这里α 代表学习率,手动设置。

批梯度下降(batch gradient descent)

θi:=θi−α∑j=1m(hθ(xj−yj))∗xji

算法不足:对大批量的训练集,下降需要的计算次数太多

随机梯度下降(stochastic gradient descent):一次下降选择部分特征而非全部特征(x1,x2,...,xi,...,xm)

即:重复ξ ,取j=1toξ 更新θi:=θi−α(hθ(xj)−yj)∗xji

最小化问题的代数解法

求解问题的数学表达

∇θ=⎡⎣⎢⎢⎢⎢⎢∂J∂θ0...∂J∂θn⎤⎦⎥⎥⎥⎥⎥∈Rn+1

θ:=θ−α∇θJ

几个先导知识点:矩阵迹 的运算性质

迹的定义:对于一个方阵,设主对角元素Aii,i=1,...,n ,则迹trA=∑i=1nAii

性质一:trABC=trCAB=trBCA

性质二:∇AtrAB=BT

性质三:trA=trAT

性质四:tra=a,ifa∈R

性质五:∇AtrABATC=CAB+CTABT

代数法的推导:

Xθ=⎡⎣⎢x(1)Tθ...x(m)Tθ⎤⎦⎥=⎡⎣⎢⎢hθ(x(1))...hθ(x(m))⎤⎦⎥⎥

y⃗ =⎡⎣⎢y(1)...y(m)⎤⎦⎥

⇒Xθ−y=⎡⎣⎢h(x(1))−y(1)...h(x(m))−y(m)⎤⎦⎥

⇒12(Xθ−y)T(Xθ−y)=12∑i=1m(h(xi−yi))2=J(θ)

为了求解最小值,可以通过极值来求解:

∇θJ(θ)=0⃗

⇒∇θ12(Xθ−y)T(Xθ−y)=12[∇θtrθθTXTX−∇θtr.yTXθ−∇θyTXθ]=0⃗

⇒∇θJ(θ)=XTXθ−XTy=o⃗ ⇒XTXθ=XTy⇒θ=(XTX)−1XTy

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