离线学习与在线学习中的模型选择


11

最近,我一直在尝试学习有关在线学习的更多信息(这绝对令人着迷!),而我一直无法很好地掌握的一个主题是如何考虑离线与在线环境中的模型选择。具体而言,假设我们训练分类离线,基于一些固定数据集。例如,我们通过交叉验证来评估其性能特征,并以此方式选择最佳分类器。SD

这就是我一直在思考的问题:那么,如何将应用于在线设置呢?我们是否可以假设脱机找到的最佳作为在线分类器也能表现良好?收集一些数据来训练,然后使用相同的分类器并在找到相同参数的在线设置中“操作”它是否有意义,或者另一种方法会更好吗?在这些情况下有哪些警告?这里的主要结果是什么?依此类推。SSSSD

无论如何,现在已经存在了,我想我正在寻找的参考资料或资源将对我(以及希望其他人在思考这种事情!)有帮助,从而使他们从单纯地以离线方式进行思考过渡,并且随着我阅读的进展,以更连贯的方式发展思维框架来思考模型选择和这些问题。


您是否有有用的线索,或者您现在有什么建议?谢谢!
user1953384

我建议您看一下Francesco的论文“ arxiv.org/pdf/1406.3816v1.pdf ”,其中他合力进行了模型选择和优化。
chandresh 2015年

如果您可以绕过付费壁垒,那么这可能是一个很好的参考:cognet.mit.edu/journal/10.1162/089976601750265045
discipulus '17

Answers:


1

显然,在流上下文中,您无法将数据拆分为训练集和测试集以执行交叉验证。由于您假设数据发生了变化并且模型将适应这些变化,因此仅使用在初始训练集上计算出的指标听起来更加糟糕,这就是为什么首先使用在线学习模式的原因。

您可以做的是使用时间序列中使用的那种交叉验证(请参见Hyndman和Athanasopoulos,2018年)。要评估时间序列模型的准确性,您可以使用顺序方法,其中在观察值上训练模型以预测 “未来”时间点。可以一次或分批应用一次,然后重复该过程,直到遍历所有数据为止(请参见下图,摘自Hyndman和Athanasopoulos,2018年)。kk+1

最后,您以某种方式平均(通常是算术平均值,但也可以使用指数平滑等方法)误差度量以获得总体准确性估计。

在此处输入图片说明

在在线情况下,这意味着您将在时间点1开始并在时间点2进行测试,然后在时间点2进行重新培训,以在时间点3进行测试,等等。

注意,这种交叉验证方法使您能够说明模型性能的变化性质。显然,由于您的模型适应数据并且数据可能会更改,因此您需要定期监视错误指标:否则,与使用固定大小的训练和测试集相差无几。

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.