我正在使用SVM的多类分类构建一个意图识别系统。
目前我只有一些受训练数据限制的课程数量。但是,在将来,我可能会获得新课程的数据。当然,我可以将所有数据放在一起并重新训练模型,这是耗时且无效的。
我目前的想法是在开始时进行一对一分类,当一个新类进入时,我可以针对所有现有类进行训练,并获得n个新分类器。我想知道是否有其他更好的方法来做到这一点。谢谢!
答案 0 :(得分:1)
最有效的方法是专注于一类分类器,然后你只需要为整体添加一个新模型。只是为了比较:
让我们假设我们有K个类,你从它得到1个新的加上P个新点,你的整个数据集由N个点组成(对于简单 - 等级分布在类中),你的训练算法复杂度为f(N)
如果你的分类器支持增量学习,那么它的复杂性如果g(P, N)
O(K f(P+N/K))
,没有地方可以使用增量训练< / LI>
O(K f(N+P))
,比上述更糟糕。但是,如果你可以逐步训练,你只需要O(K g(P, N))
,这可能会更好(取决于分类器)。O(f(P))
这个清单显然不是详尽无遗的,但应该让您对分析内容有所了解。