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