批量学习与在线学习

批量学习(batch learning)与在线学习(online learning)


批量学习(batch learning)
所谓的批量学习是指在训练模型时,一次性的把所有样本全部输入,可以理解为填鸭式。批量学习的代价函数是由平均误差定义的(要先算出特征x所有样本的总误差除以样本数)。由于批量学习一次性需要所有样本,因此批量学习有着存储要求(要存储这些训练样本)。


在线学习(online learning)
在线学习是每输入一个样本都会计算下误差,调整一下参数,是基于样本的。假设有m个样本,在线学习的过程是先输入样本 ,然后调整参数,接着再输入 ,再调整参数,这样持续到最后一个样本。这样也就导致了在线学习没有并行性,一般在使用在线学习时会随机打乱训练样本的顺序,这样可以 有效避免陷入局部最小值。在线学习的一个优点是能够追踪训练数据小的改变。在线学习一般用于实时产生数据的web网站等(流数据)。
在线学习有两个优点:
  • 在线学习容易执行
  • 对大规模和困难模式分类问题能提供有效解
下面给出一个简洁的描述(图片来自 Hinton neural network for machine learning)

批量学习与在线学习_第1张图片
参考资料:
  • 《神经网络与机器学习》(第三版)
  •    增量学习
  

你可能感兴趣的:(machine,learning&deep,learning)