梯度下降算法总结 (FG,SG,SAG,mini-batch,Momentum等等)

本文总结了梯度下降算法的四种主要类型:全梯度下降(FG)、随机梯度下降(SG)、随机平均梯度下降(SAG)和小批量梯度下降(mini-batch)。通过对每种算法的介绍和比较,展示了它们在处理大规模数据集时的效率和收敛速度。实验结果显示,SG在训练初期表现出色,而mini-batch在综合考虑迭代次数和运行时间后成为最常用的算法。动量和梯度平均等优化方法也被提及,以改善梯度下降算法的性能。
摘要由CSDN通过智能技术生成

1引言

机器学习是指通过计算机学习数据中的内在规律性信息,获得新的经验和知识,以提高计算机的智能性,使计算机能够像人那样去决策[1]。通常我们在学习一个模型时首先要收集大量关于这个问题的数据,其目标属性作为样本标签是已知的,记为y.其次根据实际问题建立预测模型,预测模型对样本标签的预测为h(x),显然y与h(x)之间的误差越小越好,这个误差被称为损失函数。因此,机器学习中的许多问题都可以归结为:计算损失函数和的近似最小值问题。

                                                                  (1)

其中表示训练集的数据,表示训练集所含样本点的个数,表示第个样本点的损失函数,表示所有样本点的平均损失函数[2]。我们要解决的问题是寻找模型中的最优参数使得尽可能的小,梯度下降算法常用于解决此问题。特别的,本文中所讨论的梯度下降算法基于3个前提:针对有限训练集;为光滑函数;是强凸的。

2梯度下降算法

常见的训练学习算法有全梯度下降算法(Full gradient descent),随机梯度下降算法(Stochastic gradient descent),随机平均梯度下降算法(Stochastic average gradient descent)和小批量梯度下降算法(Mini-batch gradient descent),它们都是为了正确地调节权重向量,通过为每个权重计算一个梯度,从而更新权值,使目标函数尽可能最小化。其差别在于样本的使用方式不同。

2.1全梯度下降算法(FG)

计算训练集所有样本误差,对其求和再取平均值作为目标函数。权重向量沿其梯度相反的方向移动,从而使当前目标函数减少得最多。将全体训练样本的目标函数看做是一种在权重高维空间的丘陵景观,最小化所有样本的目标函数即为寻找丘陵最低洼的地方。负梯度方向表示丘陵这一点的最速下降方向,沿这一方向接近最小值,那里的输出平均损失函数值最低[3]。其迭代形式为

                                                                              (2)

用来实现的最小值,则此方法在固定步长下可实现线性收敛速度[4][5]

                                                                

这里,且取决于的数值情况。除快速的收敛速度,全梯度算法并不具吸引力,因为当n很大时,迭代成本与n线性相关[6]。

2.2随机梯度下降算法(SG)

由于FG每迭代更新一次权重都需要计算所有样本误差,而实际问题中经常有上亿的训练样本,故效率偏低,且容易陷入局部最优解,因此提出了随机梯度下降算法。其每轮计算的目标函数不再是全体样本误差,而仅是单个样本误差,即每次只代入计算一个样本目标函数的梯度来更新权重,再取下一个样本重复此过程,直到损失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值