在线学习和批处理学习有什么区别?


16

我目前正在阅读John Duchi和Yoram Singer撰写的论文《使用正反拆分进行有效的在线和批处理学习》。我对术语“在线”和“批处理”的使用感到非常困惑。

我认为“在线”是指我们在处理了一个单位的训练数据后更新了体重参数。然后,我们使用新的权重参数来处理训练数据的下一个单位。

但是,在上面的文章中,用法尚不清楚。


1
问题是?
a.desantos

Answers:


5

在我看来,他们似乎正在正确使用批处理和在线学习。在第3节中,他们正在整个数据集上执行学习,即批处理学习,而在第4节中,他们切换到随机梯度,随后可以将其用作在线学习算法。

我从未将随机梯度跟踪用作在线学习算法;但是,有可能在学习过程的中间简单地停止优化过程,并且它仍然是有用的模型。对于非常大的数据集,这很有用,因为您可以测量收敛性并尽早退出学习。您可以使用随机梯度跟踪作为在线学习方法,因为您为每个新数据点更新了模型,就像我自己说的那样。不过,我会谨慎地称其为“每个训练数据”。训练数据是数据集,而不是数据点,但是我想我理解您的意思,因为您说的是“ 每个训练数据”。


FŤFŤ


11

批处理与在线学习

在线模式和批处理模式略有不同,尽管两者对于抛物线形的性能面都表现良好。一个主要区别是,批处理算法在计算与输入中每个样本相关的误差时,使系统权重保持恒定。由于在线版本会不断更新其权重,因此其误差计算(以及因此的梯度估计)会为每个输入样本使用不同的权重。这意味着两种算法在自适应期间会访问不同的点集。但是,它们都收敛到相同的最小值。

请注意,对于相同数量的数据表示,两种方法的权重更新的数量非常不同。在线方法(LMS)会更新每个样本,而批处理会更新每个纪元,也就是说,

LMS更新=(批次更新)x(训练集中的样本数)。

就计算数量而言,批处理算法也略有提高。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.