机器学习之随机梯度下降法

批量

在梯度下降法中, 批量指的是用于在单次迭代中计算梯度的样本总数.到目前为止,我们一直假定批量是指整个数据集.就 Google 的规模而言, 数据集通常包括数十亿甚至数千亿个样本.此外, Google数据集通常包括海量特征.因此, 一个批量可能相当巨大.
如果是超大批量, 则单次迭代就可能花费很长时间进行计算.
包含随机抽样样本的大型数据集可能包含冗余数据.实际上,批量大小越大,出现冗余的可能性就越高.一些冗余可能有助于消除杂乱的梯度, 但超大批量所具备的预测价值往往并不比大型批量高.
如果我们可以通过更少的计算量得出正确的平均梯度,会怎么样?
通过从我们的数据集中随机选择样本, 我们可以通过小得多的数据集估算 ( 尽管过程非常杂乱 ) 出较大的平均值. 随机梯度下降法 ( SGD ) 将这种想法运用到极致, 它每次迭代只使用一个样本 ( 批量大小为 1 ) .如果进行足够的迭代, SGD 也可以发挥作用, 但过程会非常杂乱. “随机” 这一术语表示构成各个批量的一个样本都是随机选择的.

小批量随机梯度下降法

小批量随机梯度下降法 ( 小批量 SGD ) 是介于全批量迭代与 SGD 之间的折衷方案. 小批量通常包含 10 - 1000 个随机选择的样本. 小批量 SGD 可以减少 SGD 中的杂乱样本的数量, 但仍比全批量更高效.
为了简化说明, 我们只针对单个特征重点介绍了梯度下降法. 请放心, 梯度下降法也适用于包含多个特征的特征ji

本作品采用《CC 协议》,转载必须注明作者和本文链接
Hacking
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!