机器学习中有哪些不同的梯度下降算法?
使用梯度下降的背后思想是在各种机器学习算法中将损失降至最低。从数学上讲,可以获得函数的局部最小值。
为了实现这一点,定义了一组参数,并且需要将它们最小化。给参数分配系数后,就可以计算误差或损失。接下来,权重被更新以确保误差最小化。除了参数,弱学习者可以是用户,例如决策树。
一旦计算出损失,就执行梯度下降,并逐步将树添加到算法中,以使损失最小。
一些示例包括线性回归中的系数参数或确保在机器学习算法中使用最佳权重。
梯度下降算法有不同类型,下面讨论其中一些。
批次梯度下降
它是一种梯度下降算法,可针对算法运行的每次迭代处理所有训练数据集。
如果训练数据的数量巨大,则批次梯度下降的计算量很大。因此,当数据集很大时,最好不要使用批量梯度下降。
在这种情况下,如果训练示例的数量很大,则首选随机梯度下降或小批量梯度下降。
随机梯度下降
该算法在每次迭代中处理一个训练样本。由于每次迭代只处理一个数据样本,因此每次迭代后都会更新参数。
与批量梯度下降相比,它更快。如果数据集中的训练样本数量很大,则开销很大。
这是因为迭代次数将很高,并且所花费的时间也将很高。
小型批次梯度下降
该梯度下降算法比批处理梯度下降和随机梯度下降更好。此处,在每个迭代中处理“b”个示例,其中b<m。
值``m''是指数据集中训练样本的总数。值``b''是小于``m''的值。如果训练示例的数量很多,则将分批处理数据,其中每批将在一次迭代中包含“b”个训练示例。
小型批梯度下降适用于大型训练示例,减少了迭代次数。