1.离线学习
离线学习,类似于批量学习,假设整个样本有m个数据,离线训练会训练m的整数倍次数,然后带入下一条,直至跑完整个样本,这个时候误差率可能不让你满意,把整个样本又做个上述操作,直至误差很小。离线学习是一个batch训练完才更新权重,因此要求所有数据必须在每一个训练训练操作中(batch)中都是可用的,这样不会因为个别数据的更新错误把网络带向极端。
2.在线学习
在线学习,通常是一次输入一条数据(而不是一个batch),训练完了直接更新权重。一个一个地按照顺序处理数据,但是每一个数据训练完后都会直接更新权重,但不知道是对是错,如果某一次权重更新错误,在这之后的权重更新可能一直都是错的,最后得到的模型可能就会逐渐走向错误方向,残差出现。在线学习先按顺序处理数据,他们产生一个模型,并把这个模型放在实际操作中,不需要一开始就提供完整的训练数据集。随着更多实时数据进入模型,模型会在操作中不断被更新。
在线学习有两个优点:
- 在线学习容易执行
- 对大规模和困难模式分类问题能提供有效解
【
什么是残差,怎么解决残差问题呢?
残差在数理统计中是指实际观察值与估计值(拟合值)之间的差。在集成学习中可以通过基模型拟合残差,使得集成的模型变得更精确;在深度学习中也有人利用layer去拟合残差将深度神经网络的性能提高变强。
残差不同于 方差与偏差???
偏差Bias:偏差描述的是根据样本拟合出的模型的预测结果与样本真实结果的差距,就是预测结果与真实结果的误差。Low Bias,就是增加模型的参数,复杂化模型,但容易过拟合overfiting,对于high variance,点分散。
方差Variance:方差描述的是根据样本训练出来的模型在测试集上的表现。low variance 减少模型参数,简化模型,但容易欠拟合,对于high bias,点偏离中心。
】
3.批量学习(batch learning)
批量学习,是指一次性批量输入学习算法,可以被形象的称为填鸭式学习。而在线学习是每输入一个样本都会计算下误差,调整一下参数,是基于样本的。
批量学习的代价函数是由平均误差定义的(要先算出特征x所有样本的总误差除以样本数)。由于批量学习一次性需要所有样本,因此批量学习有着存储要求(要存储这些训练样本)。