多类问题和多标签问题有什么区别?
多类和多标签问题有什么区别
我怀疑不同之处在于,在多类问题中,类是互斥的,而对于多标签问题,每个标签代表不同的分类任务,但这些任务在某种程度上是相关的(因此将它们一起解决而不是单独解决是有好处的)。例如,在著名的 leptograspus 螃蟹数据集中,有两种颜色形式的螃蟹的雄性和雌性示例。您可以将此作为具有四个类别(男性-蓝色、女性-蓝色、男性-橙色、女性-橙色)的多类别问题或作为多标签问题来处理,其中一个标签是男性/女性,另一个是蓝色/橙。本质上,在多标签问题中,一个模式可以属于多个类别。
多类分类是指具有两个以上类的分类任务;例如,对一组可能是橙子、苹果或梨的水果图像进行分类。多类分类假设每个样本都分配给一个且只有一个标签:水果可以是苹果或梨,但不能同时是两者。
多标签分类为每个样本分配一组目标标签。这可以被认为是预测不互斥的数据点的属性,例如与文档相关的主题。一篇文章可能同时涉及任何宗教、政治、金融或教育,也可能不涉及这些。
取自http://scikit-learn.org/stable/modules/multiclass.html
Edit1(2020 年 9 月):对于那些更喜欢术语对比以获得更好理解的人,请查看以下对比:
多类与二进制类是您的分类器正在建模的类数量的问题。从理论上讲,二元分类器比多类问题要简单得多,因此进行这种区分很有用。例如,支持向量机 (SVM) 可以轻松地学习一个超平面来分离两个类,但是 3 个或更多类使分类问题变得更加复杂。在神经网络中,我们通常使用
Sigmoid
二进制,但Softmax
多类作为模型的最后一层。多标签与单标签是任何对象或示例可以属于多少类的问题。在神经网络中,如果我们需要单个标签,我们使用单层
Softmax
作为最后一层,从而学习一个跨越所有类的单一概率分布。如果我们需要多标签分类,我们Sigmoids
在最后一层使用多个,从而为每个类学习单独的分布。
备注:我们将 multilabel 与 multiclass 结合起来,事实上,可以安全地假设所有 multi-label 都是多类分类器。当我们有一个二元分类器(比如正类与负类)时,我们通常不会同时分配两个标签或无标签!我们通常将此类场景转换为多类分类器,其中类是{positive, negative, both, none}
. 因此多标签和二元分类器是不实用的,可以安全地假设所有多标签都是多类的。
另一方面,并非所有多类分类器都是多标签分类器,除非明确说明,否则我们不应假设它。
编辑 2:我的评论的维恩图
多类问题将实例分配给有限的、互斥的类集合中的一个。正如已经给出的螃蟹示例(来自@Dikran):雄性蓝色,雌性蓝色,雄性橙色,雌性橙色。这些中的每一个都是独立于其他的,并且它们加在一起是全面的。
多标签问题的一种形式是将它们分成两个标签,性别和颜色;其中性别可以是男性或女性,颜色可以是蓝色或橙色。但请注意,这是多标签问题的一个特例,因为每个实例都会得到每个标签(即每只螃蟹都有性别和颜色)。
多标签问题还包括允许将可变数量的标签分配给每个实例的其他情况。例如,报纸或通讯社中的一篇文章可能被分配到新闻、政治、体育、医学等类别。一个关于重要体育赛事的故事将获得标签体育的分配;而另一个涉及特定体育赛事所揭示的政治紧张局势,可能会同时获得 SPORTS 和 POLITICS 两个标签。在我所在的美国,考虑到赛事的社会影响,超级碗的结果被标记为体育和新闻。
请注意,这种带有可变数量标签的标签形式可以重铸成类似于螃蟹示例的形式;除了每个标签都被视为 LABEL-X 或 not-LABEL-X。但并非所有方法都需要这种重铸。