在深度学习领域,主要会遇到两种类型的分类任务:多类分类和多标签分类。本文旨在通过实例详细解释这两种分类问题,帮助数据科学爱好者更好地理解它们的区别,并加速他们的数据科学之旅。
在二分类问题中,数据集中的任何样本只能被标记为两个类别中的一个。例如,如果从亚马逊评论数据集中提取一个小数据集,可以看到,只能将评论分类为正面或负面,即只有两种可能的目标结果。这就是一个二分类问题的例子。
要理解多类分类,首先需要理解什么是多类,并找出多类与二类之间的区别。理论上,二分类器比多分类器简单得多,因此区分这一点至关重要。例如,在神经网络中,通常使用Sigmoid激活函数进行二分类任务,而另一方面,使用Softmax激活函数进行多类分类,作为模型的最后一层。
对于多类分类,需要深度学习模型的输出始终给出一个类别作为输出类别。例如,如果制作一个动物分类器,用于区分狗、兔子、猫和老虎,那么每次只能选择这些类别中的一个。为了确保每次只选择一个类别,在最后一层应用Softmax激活函数,并使用对数损失来训练模型。
因此,对于给定的数据集,任何来自数据集的样本只能从类别数量中选择一个标签。让看一个来自电影评论数据集的小数据集的例子。如果仔细观察表格,可以看到只能将电影评分从2分到5分,即每部电影只有一个标签(2、3、4或5)。这意味着样本可以有超过两种可能的目标结果。因此,这是一个多类分类问题的例子。
要理解多标签分类,首先需要理解什么是多标签,并找出多标签与二标签之间的区别。多标签与单标签的区别在于一个对象或示例可以属于多少个类别。在神经网络中,当需要单标签时,使用单个Softmax层作为最后一层,学习一个覆盖所有类别的概率分布。在需要多标签分类的情况下,在最后一层使用多个Sigmoid,并学习每个类别的单独分布。
在某些问题中,每个输入可以有多个,甚至没有指定的输出类别。在这些情况下,采用多标签分类问题的方法。例如,如果正在构建一个模型来预测一个人穿着的所有衣物,可以使用多标签分类模型,因为可能同时有多个选项。
因此,对于给定的数据集,任何来自数据集的样本可以有超过一个标签,从可用类别中选择。让看一个玩具例子。如果仔细观察表格,可以看到电影可能同时属于喜剧和奇幻类别。这意味着样本可以有超过两种可能的标签。因此,这是一个多标签分类问题的例子。
考虑以下实际例子来理解这两种分类类型之间的区别。为了理解确切的区别,希望下面的图片能清楚地说明问题。让尝试理解它。
如所知,对于任何电影,有一个名为中央电影认证委员会的组织,根据电影的内容颁发证书。例如,如果查看上面的图片,可能会看到这部电影被评为“U/A”(意味着“12岁以下儿童需家长指导”)。这不是唯一的证书类型,还有其他类型的证书类别,如“A”(仅限成人)或“U”(无限制公共放映),但在根据此对电影进行分类时,可以肯定的是,每部电影只能被归类为这三种证书中的一个。简而言之,有多个类别(即,分配给电影的多个证书),但每个实例只分配一个(即,每部电影只分配一个证书),因此这类问题被归类为多类分类问题。
再次,如果仔细观察图片,会发现这部电影被归类为喜剧和爱情类别。但这次有一个区别,即每部电影可以落入一个或多个不同的类别(即,有多个类别)。因此,每个实例可以被分配多个类别(即,多个类别),所以这类问题被归类为多标签分类问题,为每个样本有一组目标标签。
在本节中,提供了一些问题来测试对在本文中讨论的主题的知识。
多类分类问题有多个类别,但每个实例只分配一次。
正确 错误多标签分类问题中,每个实例可以被分配多个类别或一组目标标签。
正确 错误请注意:欢迎在下面的评论框中讨论这些问题的答案!
如果想知道如何解决多类和多标签分类问题,可以参考以下链接。
还可以查看以前的博客文章。