多种梯度下降变体的对比:Batch gradient descent、Mini-batch gradient descent 和 stochastic gradient descent

一. 批量梯度下降(Batch gradient descent)

批量梯度下降(Batch gradient descent),是梯度下降法最常用的形式,具体做法也就是在更新参数时使用所有的样本来进行更新。
θ = θ − η ⋅ ∇ θ J ( θ ) θ = θ − η · ∇θJ(θ) θ=θηθJ(θ)
由于我们需要计算整个数据集的梯度以仅执行一次更新,因此批量梯度下降可能非常缓慢,并且对于内存小而数据集庞大的情况来说很棘手。批次梯度下降法也不允许我们在线更新模型,即即时更新新示例。
批量梯度下降优点是理想状态下经过足够多的迭代后可以达到全局最优.

批量梯度下降伪代码:

for i in range(nb_epochs):
	params_grad = evaluate_gradient(loss_function, data, params) 
	params = params - learning_rate * params_grad

其中nb_epoch是自己指定的迭代次数,params_grad是经过一次迭代后的参数

二. 随机梯度下降法(Stochastic Gradient Descent)

随机梯度下降法,其实和批量梯度下降法原理类似,区别在与求梯度时没有用所有的m个样本的数据,而是仅仅选取一个样本来求梯度。正是为了加快收敛速度,并且解决大数据量无法一次性塞入内存的问题,所以stochastic gradient descent(SGD)就被提出来了,SGD的思想是每次只训练一个样本去更新参数(比如样本 j j j: ( x ( j ) 0 , x ( j ) 1 , . . . , x ( j ) n ) (x_{(j)}^0,x_{(j)}^1,...,x_{(j)}^n) (x<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值