优化器算法总结(BGD、SGD、MBGD、Momentum、NAG、Adagrad 未总结完)

这篇博客总结了深度学习中常用的优化算法,包括批量梯度下降(BGD)、随机梯度下降(SGD)、小批量梯度下降(MBGD)、动量优化(Momentum)和Nesterov动量优化(NAG)。BGD在大型数据集上计算慢,但能收敛到局部极小值;SGD速度快,但可能导致震荡;MBGD结合两者优点;Momentum通过历史动量减少震荡,NAG则进一步改进了预测更新,提高了收敛效率。这些优化器各有优缺点,适应不同的训练需求。

参考的两篇博文

(1) 优化算法总结-深度学习  https://blog.csdn.net/fengzhongluoleidehua/article/details/81104051 

(2) 深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam) https://www.cnblogs.com/guoyaohua/p/8542554.html (看这篇就好)

https://www.jianshu.com/p/aebcaf8af76e (Adam)


1.Batch Gradient Descent (BGD)

梯度更新规则:

BGD 采用整个训练集的数据来计算 cost function 对参数的梯度:

 

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

我们会事先定义一个迭代次数 epoch,首先计算梯度向量 params_grad,然后沿着梯度的方向更新参数 params,learning rate 决定了我们每一步迈多大。

缺点: 
由于这种方法是在一次更新中,就对整个数据集计算梯度,所以计算起来非常慢,遇到很大量的数据集也会非常棘手,而且不能投入新数据实时更新模型。 
优点:
Batch gradient descent 对于凸函数可以收敛到全局极小值,对于非凸函数可以收敛到局部极小值

2.Stochastic Gradient Descent (SGD)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值