在线算法(online algorithm)是什么意思?

  统计/机器学习 开放问题    浏览次数: 1300
4

经常看到在线算法(online algorithm)这个词,比如说“XXX的另一个优点是它是在线算法”,但是我理解得比较模糊,在线是不是就是计算比较快的意思?有准确一点、具体一点的定义吗?

 

张球球   2017-03-31 13:22



   2个回答 
5

离线算法是需要输入全部数据之后再开始训练模型。比如说一开始你有1万行数据,你用这个数据训练出了一个模型,当你又有了1千行新数据后,你需要把这1千行和原来的1万行数据合并起来,再重新训练模型。

在线算法则不需要重新训练,在线算法可以按批次接收数据、改进模型。比如说一开始你有1万行数据,你用这个数据训练出了一个模型,当你又有了1百行新数据,你不需要把这些新数据与原数据合并,你可以只利用这100行数据对原先的模型进行调整(不是从头重新训练),再来1百行数据,又可以利用新的数据对模型进行调整。

在线算法的一个巨大优势是节约空间。当数据量特别大的时候,我们可以一部分一部分的训练,而不是直接在整个数据集上训练。


黄前志   2017-04-06 12:32

比如说蓄水池算法就是online algorithm - 小嘿   2017-04-12 11:31
2

从机器学习的角度来说,offline(或者说batch)learning就是用所有的数据进行训练模型,当有新训练数据进来的,需要把新数据和旧数据合并起来,重新训练模型,原来的模型就没有用了。


online learning就是当新训练数据进来,我们不需要放弃原来的模型,也不需要把新数据和旧数据合并成训练集,我们可以在原来的模型的基础之上,用新的数据集对老模型进行一些修改更新。


总体来说,online learning更省事,更符合有流数据需求的场景。

附上一张网图,供大家欣赏。


派大星   2017-10-13 11:00



  相关主题

机器学习算法中有哪些用到了贪婪算法的思想?   5回答

建立一个预测模型的流程是什么   1回答

如何理解PAC Learning?   1回答

机器学习如何快速入门?   1回答

数据泄漏(data leakage)是什么意思?   2回答

机器学习+计算机网络   2回答

如何理解VC dimension?   2回答

机器学习算法的鲁棒性是什么意思?   1回答

机器学习中的奥卡姆剃刀原理是什么意思   5回答

人类的第一个机器学习算法是什么?   2回答

bias-variance tradeoff是什么意思?   1回答

非参模型是什么意思?有哪些模型算是非参的?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!