嘿,这是我的问题,
我有一组文档,需要将每个文档分配到预定义的类别中。
我打算使用n-gram方法来表示每个文档的文本内容,然后在我的训练数据上训练一个SVM分类器。
如果我有什么误解,请纠正我。
现在的问题是,类别应该是动态的。也就是说,我的分类器应该能够处理带有新类别的新训练数据。
例如,如果我训练了一个分类器来将给定文档分类为类别A、类别B或类别C,然后我得到了带有类别D的新训练数据。我应该能够通过提供“类别D”的新训练数据来增量训练我的分类器。
总结一下,我不想将旧的训练数据(包含3个类别)和新的训练数据(包含新的/未见的类别)合并,然后重新训练我的分类器。我希望能够即时训练我的分类器
这是否可以用SVM实现?如果不能,你能推荐几个分类算法吗?或者有哪些书籍/论文可以帮助我。
提前感谢。
回答:
朴素贝叶斯是一种相对快速的增量分类算法。
KNN本质上也是增量的,并且实现和理解起来更加简单。
这两个算法都在开源项目Weka中实现,分别为NaiveBayes和IBk(KNN)。
然而,根据个人经验,这两个算法对大量非信息性特征(这在文本分类中通常是情况)都很敏感,因此通常会使用某种特征选择方法来从这些算法中榨取更好的性能,这在增量实现上可能是个问题。