我正在构建一个使用支持向量机的多类分类的意图识别系统。
目前,我只有几个受训练数据限制的班级。然而,在未来,我可能会使用新的类来获取数据。当然,我可以将所有数据放在一起,然后重新训练模型,这既耗时又低效。
我现在的想法是在一开始进行一对一的分类,当一个新的类出现时,我可以只对所有现有的类进行训练,并获得n个新的分类器。我想知道是否有其他更好的方法来做到这一点。谢谢!
发布于 2015-12-10 23:18:33
最有效的方法是专注于一类分类器,然后您只需向集成中添加一个新模型。只是比较一下:
让我们假设我们有K个类,你从其中得到1个新的加P个新点,你的整个数据集由N个点组成(对于简单地均匀分布在类之间),并且你的训练算法的复杂度是f(N),如果你的分类器支持增量学习,那么如果g(P, N),那么它的复杂度
为了获得准确的结果,你需要训练K个新的分类器,每个分类器大约有N/K个数据点,从而导致O(K f(P+N/K)),没有地方可以使用incremental training
O(K f(N+P)),比上面更糟糕。然而,如果你可以以增量的方式训练,你只需要O(K g(P, N)),这可能会更好(取决于classifier).
O(f(P))这个列表显然不是详尽的,但应该能让你对要分析的内容有大致的了解。
https://stackoverflow.com/questions/34204700
复制相似问题