随着类别数量的增加进行分类

机器算法验证 分类 半监督学习
2022-04-11 14:00:35

我有带有大量标记数据的数据集(假设有k个类)。我还有另一个小得多的数据集,其中包含我想要标记的未标记数据。问题是在第二个数据集中,类的数量不必与第一个数据集中的类数相同(更准确地说,可能有更多的类)。换句话说,来自未标记数据集的一些对象可以分类到k个可能的类之一,因为它们“离它们太近了”,但是一些对象应该被分类到新的类中。

真实世界的例子:在某些应用程序中,类的数量会随着时间的推移而增加。例如,已知物种的数量随着时间的推移而增加,所以当我在自然界中看到任何未知的植物时,生物学家可以对其进行分类或说这是新发现(新类别)。

有没有处理这种分类的技术?任何帮助表示赞赏。

3个回答

这个问题有时被称为开放集识别或分类。Arxiv 最近有一项关于开放集识别的调查https://arxiv.org/pdf/1811.08581

当数据点是图像时,这个问题也称为零镜头学习 https://en.wikipedia.org/wiki/Zero-shot_learning (我认为)

这似乎是一个聚类问题 - 如果您不知道您将拥有什么以及有多少类,那么无监督学习适合您。例如,如果您经过训练的分类器对某个训练示例非常有信心,那么您可以断定它属于已知类别。如果您的分类器不确定(例如,它预测每个现有类别的概率小于 30%),那么您会得出结论,您遇到了一些以前未知的类别。在这种情况下,您可以对那些未知类使用无监督学习或手动标记这些样本,引入一些新类。

您可以将所有已知的类视为一个类,并运行一些异常值检测/新颖的检测算法。例如,一类 SVM

因此我们可能有分层分类器,第一个检查数据是否是一些新物种,如果不是,那么第二个分类器将数据分类为k已知类。