3

我们正在构建一个系统,在该系统中,我们将从最初的非常少量的训练数据开始。工作是将传入的数据(文档,对于我们的例子)分为 2 类:A 类和 B 类。数据是文档,所以用户需要将文档分类为 A 类或 B 类。所以,数量有限数据,我们创建训练数据集,并开始使用训练数据集预测下一个文档的类别。

现在,如果预测正确,用户将移动到下一个文档。但是如果预测不正确,则用户输入正确的类别(假设类别 A 是系统预测的,其中对数据的正确分配应该是类别 B)。所以现在系统应该使用这种学习(B 类而不是 A 类)来近乎实时地丰富(学习)自己。

它应该只训练添加的数据,而不是已经训练的完整数据集。所以应该是增量学习。对于分类,我们将应用朴素贝叶斯分类。

现在的问题是:

  • 我们如何实现增量训练,而不是每次都训练整个数据集?
  • 我知道有像 Vowpal Wabbit & creme 这样的增量学习库。对于我的情况,使用这些库会是一个很好的解决方案吗?
4

1 回答 1

2

免责声明:我是奶油的主要开发者之一。

Creme 似乎是解决您问题的正确方法。creme 的目标之一正是通过观察来训练观察,而不是每次都对整个数据集进行训练。

如果您想要一个使用 creme 的示例,其中数据集最初很小并随着时间的推移而增长,您可以在此处找到一个。

于 2019-12-09T10:08:23.167 回答