在在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例(称为小批量)。每个学习步骤都很快且廉价,所以系统可以动态地学习收到的最新数据。
在线学习很适合系统接收连续流的数据(比如,股票价格),且需要自动对改变作出调整。如果计算资源有限,在线学习是一个不错的方案:一旦在线学习系统学习了新的数据实例,它就不再需要这些数据了,所以扔掉这些数据(除非你想滚回到之前的一个状态,再次使用数据)。这样可以节省大量的空间。
在线学习算法也适用于在超大数据集(一台计算机不足以用于存储它)上训练系统(这称作核外学习,out-of-core learning)。算法每次只加载部分数据,用这些数据进行训练,然后重复这个过程,直到使用完所有数据。
在线学习系统的一个重要参数是,它们可以多快地适应数据的改变:这被称为学习速率。如果设定一个高学习速率,系统就可以快速适应新数据,但是也会快速忘记老数据。相反的,如果设定的学习速率低,系统的惰性就会强:即,它学的更慢,但对新数据中的噪声或没有代表性的数据点结果不那么敏感。
在线学习的挑战之一是,如果坏数据被用来进行训练,系统的性能就会逐渐下滑。如果这是一个部署的系统,用户就会注意到。例如,坏数据可能来自失灵的传感器或机器人,或某人向搜索引擎传入垃圾信息以提高搜索排名。要减小这种风险,需要密集监测,如果检测到性能下降,要快速关闭(或是滚回到一个之前的状态)。你可能还要监测输入数据,对反常数据做出反应(比如,使用异常检测算法)。
机器学习中的在线学习简介
最新推荐文章于 2024-08-03 15:07:34 发布