多类分类越来越多的类

时间:2015-12-10 14:40:51

标签: machine-learning svm

我正在使用SVM的多类分类构建一个意图识别系统。

目前我只有一些受训练数据限制的课程数量。但是,在将来,我可能会获得新课程的数据。当然,我可以将所有数据放在一起并重新训练模型,这是耗时且无效的。

我目前的想法是在开始时进行一对一分类,当一个新类进入时,我可以针对所有现有类进行训练,并获得n个新分类器。我想知道是否有其他更好的方法来做到这一点。谢谢!

1 个答案:

答案 0 :(得分:1)

最有效的方法是专注于一类分类器,然后你只需要为整体添加一个新模型。只是为了比较:

让我们假设我们有K个类,你从它得到1个新的加上P个新点,你的整个数据集由N个点组成(对于简单 - 等级分布在类中),你的训练算法复杂度为f(N)如果你的分类器支持增量学习,那么它的复杂性如果g(P, N)

  • OVO(一对一) - 为了获得您需要训练K个新分类器的精确结果,每个分类器都有大约N / K个数据点,因此导致O(K f(P+N/K)),没有地方可以使用增量训练< / LI>
  • OVA(一对一) - 为了获得您重新训练所有分类器的确切结果,如果在批量激情中完成,则需要O(K f(N+P)),比上述更糟糕。但是,如果你可以逐步训练,你只需要O(K g(P, N)),这可能会更好(取决于分类器)。
  • 一类合奏 - 看起来有点奇怪,但是例如Naive Bayes可以看作是这样的方法,你有生成模型来模拟每个类的条件分布,因此你的每个类的模型实际上是独立于其余的那些。因此,复杂性为O(f(P))

这个清单显然不是详尽无遗的,但应该让您对分析内容有所了解。