我目前正在阅读 John Duchi 和 Yoram Singer 的论文Efficient Online and Batch Learning using Forward-Backward Splitting。我对“在线”和“批处理”这两个术语的使用感到非常困惑。
我认为“在线”意味着我们在处理一个单位的训练数据后更新权重参数。然后我们使用新的权重参数来处理下一个单元的训练数据。
但是,在上面的论文中,用法并不清楚。
我目前正在阅读 John Duchi 和 Yoram Singer 的论文Efficient Online and Batch Learning using Forward-Backward Splitting。我对“在线”和“批处理”这两个术语的使用感到非常困惑。
我认为“在线”意味着我们在处理一个单位的训练数据后更新权重参数。然后我们使用新的权重参数来处理下一个单元的训练数据。
但是,在上面的论文中,用法并不清楚。
简而言之,
在线:根据观察到的每种模式进行学习。
批处理:学习多组模式。大多数算法都是批处理的。
资料来源: http: //machinelearningmastery.com/basic-concepts-in-machine-learning/
批量学习与在线学习
在线模式和批处理模式略有不同,尽管两者都适用于抛物线性能表面。一个主要区别是批处理算法在计算与输入中每个样本相关的误差时保持系统权重不变。由于在线版本不断更新其权重,因此其误差计算(以及梯度估计)对每个输入样本使用不同的权重。这意味着这两种算法在适应过程中会访问不同的点集。但是,它们都收敛到相同的最小值。
请注意,对于相同数量的数据呈现,两种方法的权重更新次数是非常不同的。在线方法 (LMS) 对每个样本进行更新,而批处理对每个 epoch 进行更新,即
LMS 更新 =(批量更新)x(训练集中的样本数)。
批处理算法在计算数量方面也稍微更有效。
在我看来,他们似乎正确地使用了批处理和在线学习。在第 3 节中,他们正在处理整个数据集以执行学习,即批量学习,而在第 4 节中,他们切换到可用作在线学习算法的随机梯度跟踪。
我从来没有使用随机梯度跟随作为在线学习算法;但是,可以在学习过程中简单地停止优化过程,它仍然是一个有用的模型。对于非常大的数据集,这很有用,因为您可以测量收敛性并尽早退出学习。您可以使用随机梯度跟踪作为在线学习方法,因为您为每个新数据点更新模型,正如我认为您自己所说的那样。虽然,我会小心地将其称为“每个训练数据”。训练数据是一个数据集,而不是一个数据点,但我想我理解你,因为你说“每个训练数据”。