gpt4 book ai didi

machine-learning - 多类分类类别数量不断增加

转载 作者:行者123 更新时间:2023-11-30 09:11:48 27 4
gpt4 key购买 nike

我正在使用 SVM 进行多类分类来构建意图识别系统。

目前,受训练数据的限制,我只有几个类别。但是,将来我可能会通过新类(class)获取数据。当然,我可以将所有数据放在一起并重新训练模型,这既耗时又低效。

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

最佳答案

最有效的方法是专注于一类分类器,然后您只需向集成中添加一个新模型即可。只是为了比较:

假设我们有 K 个类,您从中获得 1 个新点和 P 个新点,您的整个数据集由 N 个点组成(简单起见 - 在类之间均匀分布),并且您的训练算法复杂度为 f(N)如果你的分类器支持增量学习那么它的复杂性如果 g(P, N)

  • OVO(一对一) - 为了获得准确的结果,您需要训练 K 个新分类器,每个分类器大约有 N/K 个数据点,从而导致 O(K f(P+N/K)) ,没有地方可以使用增量训练
  • OVA(一对一)-为了获得准确的结果,您需要重新训练所有分类器,如果以批量方式完成,您需要 O(K f(N+P)) ,比上面的更糟糕。但是,如果您可以以增量方式进行训练,您只需要 O(K g(P, N))哪个可能更好(取决于分类器)。
  • 一类集成 - 这可能看起来有点奇怪,但例如朴素贝叶斯可以被视为这种方法,你有生成模型来模拟每个类的条件分布,因此每个类的模型实际上独立于其余的那些。因此复杂度为 O(f(P))

这个列表显然并不详尽,但应该让您大致了解要分析的内容。

关于machine-learning - 多类分类类别数量不断增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34204700/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com