八股文——机器学习基础优化函数

本文介绍了优化函数在机器学习中的作用,重点讲解了批量、随机和小批量梯度下降方法,以及动态优化策略如momentum、nesterovNAG、adagrad、RMSProp、Adam、NAdam和AdamW等,讨论了它们的优缺点和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

优化函数的作用

优化函数是用来最小化损失函数的

损失函数是衡量模型输出与真实值的偏差,这个差值越小,模型训练效果越好

如果损失是一个凸函数,求最小值比较简单,直接求导就好:但是复杂的神经网络一般都不是凸函数,优化函数就是在这种情况下最小化损失函数的

梯度下降

1.批量梯度下降

使用全部数据计算梯度,进而更新参数

因为要遍历整个数据集在更新参数,所以更新参数速度慢。

缺点:不适合大数据集,不能实时更新参数

优点:训练稳定

2.随机梯度下降

每计算一个样本,更新一次参数

因为频繁更新参数,参数方差大,会使目标函数剧烈抖动,一方面能更快的是目标函数跳到局部极小值,一方面会使目标函数在最小值附近上下波动

3。小批量梯度下降

计算一个batch内的样本,更新参数,这个方法参数更新快,方差小,使用内存小,n通常取2的指数

动态优化

1.momentum

引入一阶动量,momentum是各个时刻梯度的指数移动平均值

momentum将过去的时间梯度添加到当前的时间梯度,是一种有助于抑制SGD振荡并加速SGD向最小值收敛的方法。

简单理解是

2.nesterovNAG

现根据当前的动量往前走一步,然后到达下一个点,计算此时的梯度更新

取决于此时的动量和下一个时刻的梯度

3.adagrad

在学习率下除了一个根号下历史梯度平方和,是整体的学习率变化。

能使更新幅度很大的参数的学习率变小,是更新幅度很小的参数学习率也减小

优点是不用再手工的调整学习率。

缺点是随着时间的推移,历史梯度平方和会越来越大,那么 学习率会越来越小,最后趋近于0,最后导致模型的参数虽然还具有较大梯度,但是参数却无法更新。

4.RMSProp

RMSProp算法将这些梯度平方和做指数加权移动平均。使得学习率不一定递减,可能增大,也可能减小

5.Adam

Adam是为每一个参数计算自适应学习率的另一种算法。Adam可以看成RMSprop和Momentum的结合体。

除了像RMSprop一样保存过去时间的梯度平方和的指数加权平均值  ,Adam还像Momentum保存了梯度的指数加权平均值

6.NAdam

Adam+NAG

7.AdamW

Adam+weight decay

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值