【Machine Learning公开课】Chapter 2

这一讲Ng给我们讲了什么是有监督学习,以及一种常用的求最值方法:梯度下降法。

首先我们回顾下一个简单的机器学习过程:首先给出一个输入数据,我们的算法会通过一系列的过程得到一个估计的函数,这个函数有能力对没有见过的新数据给出一个新的估计,也被称为构建一个模型。我们用 X1,X2..Xn 去描述 feature 里面的分量,比如 x1=房间的面积,x2=房间的朝向, 等等,我们可以做出一个估计函数:

h(x)=hθ(x)=θ0x0+θ1x1+θ2x2
PS:此处 θ 代表参数,这里令 x0 =1,则有:

h(x)=θTX (向量表示法)

因为我们的目的是得到最优的 θ ,于是不妨定义一个均方误差函数J来评估 hθ(x) ,J的定义如下:

J(θ)=12mi=1[hθ(x(i)y(i))]2
PS:公式前面乘1/2是为了之后求导方便

那么,我们的目的是得到使J( θ )取到最小值的 θ ,即归结于求最小值问题,方法很多,这一讲Ng用的是梯度下降法。

那么什么是梯度下降法呢?
step1. 对 θ 赋值,这个值可以是随机的,也可以让 θ 是一个全零的向量。
step2. 改变 θ 的值,使得 J(θ)按梯度下降的方向进行减少,直至收敛。

梯度方向由 J(θ)对 θ 的偏导数确定,由于求的是极小值,因此梯度方向是偏导数的反方向。 结果为:

θj:=θj+α(y(i)hθ(x(i)))x(i)j
PS: 这里符号:=表示的是把左边变量的值设为右边变量的值,符号 α 代表学习速率,可以手工设置,它控制了步子迈的有多大,设置的太小,则每步迈的步子很小,算法收敛速度很慢,设置的太大,则可能会越过最小值。

那么梯度下降法就是一个不断迭代更新的过程,其中有两种方法:
1.批梯度下降
对全部的训练数据求得误差后再对 θ 进行更新。
2.随机梯度下降
每扫描一步都要对 θ 进行更新,每次更新只用取一个 θ ,减少运算量,但可能无法收敛至最小点处。

总结:梯度下降法收敛速度比较慢,而且容易陷入局部最优。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值