为监督学习提供更新的培训数据 - 如何?

时间:2014-09-16 12:49:22

标签: machine-learning classification

我们有一个网页分类器。分类器模型是使用大约2年前的列车数据构建的。我们已经注意到模型的性能不断恶化,我们假设它是由于网页的属性随时间而变化(主要是使用的单词和术语,还有拓扑,html标签等)。

你会如何解决这个问题?我们只是重新构建整个列车数据并重新学习新模型吗?有捷径吗?是否有一些常见的做法或论文如何做到这一点?请注意,我们非常关注监督学习方法,系统管理员训练分类器,在测试集上评估其性能,然后将分类器安装在"生产"系统

希望这不是太模糊......

2 个答案:

答案 0 :(得分:2)

可能会考虑许多因素,主要因素是分类器的状态和数据。

如果您因更改网络协议而不需要任何新输入,那么您可以在新数据上重新训练现有分类器。

如果分类器尚未设计为在新数据上重新训练,则可能难以挽救旧模型。同样,如果输入或输出已更改,则构建新分类器也可能更容易。

我不知道您使用的是什么分类器,或者重新训练或处理数据的方式,因此我无法直接回答您所面临的问题,或者是否有任何捷径问题。这实际上取决于您的分类器的可访问性以及维护它的成本。

如上述问题所述,建议对新分类器进行测试和比较,以确保在将其应用于生产环境之前满足要求。

答案 1 :(得分:2)

如果您使用标准的现成分类器,可能无法更新新数据的参数(这取决于您正在使用的内容)。从头开始重建可能是最快的方法。如果你沿着这条路走下去,考虑包括旧数据加上一些新数据,可能会将更新的数据加权(加权损失函数可以做到这一点)。保留旧数据可能会最大限度地减少您需要创建的新数据量。

如果您希望能够根据新数据不断更新模型(例如,如果这是一个反复出现的问题),请考虑切换到支持在线学习的分类器。显而易见的选择是Passive Agressive系列学习方法之一:MIRA非常好(它基本上是一个在线SVM)。