algorithm - 多类别分类 - 为每个类别使用一组不同的负样本是个好主意吗?

标签 algorithm machine-learning classification

我们有一个分类器,可以将网站分为 50 个类别之一。

经典方法是构建 50 个二分类器(如此处所示:nlp)。有一个单个大标记学习语料库,我们使用来自其类别的正样本和来自所有其他类别的负样本训练每个分类器。

完全解耦并为每个类别保留一组正负样本是个好主意吗?

这将使我们能够:

  • 我们将很容易收集和添加更多的负样本(我们只是随机选择站点)
  • 目前,添加第 51 个新类别是一个非常困难的过程,因为旧类别是很久以前训练的,因此新的第 51 个分类器会被具有与旧样本不同的时间属性的新样本混淆 - 并且刷新所有 51 个类别的另一种选择非常昂贵。如果我们解耦,我们可以保留当前的 ​​50 个分类器不变,只添加一个新的分类器,包括新的正样本和负样本!

问题:你能看出这个想法有什么问题吗?如果是这样,你能指出我这方面的文献/研究吗?如果不是,错误在哪里?

谢谢!

最佳答案

如果您认为每个网站都应属于 50 个类别之一,那么您的初始想法听起来更好。然而,当你有那么多类别时,二元分类器并不总是最好的解决方案,因为你必须每个类别都取一个类别并使其成为正类,而所有其他类别都成为负类(一个对所有),或者你采取所有对类别,并为每一对训练你的分类器。无论哪种方式,您都必须通过运行所有分类器对结果进行后处理来确定测试点的类别。

有一些很好的分类器可以用一个分类器处理任意数量的类别。随机森林就是一个很好的例子,它们在实践中非常有效,特别是如果你的特征都是数字或符号,只有几个可能的值。他们可以快速训练和运行测试数据。

关于algorithm - 多类别分类 - 为每个类别使用一组不同的负样本是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552373/

相关文章:

algorithm - 生成一种迷宫的高效算法

python - 您输入的数据用完了;中断训练。确保您的数据集或生成器至少可以生成 steps_per_epoch

c++ - 使用 OpenCv 检测图像中的矩形亮区

c++ - 如何使用顶点的测地线距离来平滑骨骼顶点权重?

python - 如何在python中生成一组相似的字符串

python - TensorFlow 对象检测 API 奇怪的行为

r - "RTextTools"create_matrix 出错

python - Keras 预测中缺少类标签

machine-learning - 如何解释weka中的朴素贝叶斯结果?

c - 实现 Ford-Fulkerson 的函数中出现段错误