机器学习 - 一类、二类和多项分类之间的区别在哪里?

数据挖掘 机器学习 数据挖掘 分类 分类数据
2021-10-10 20:17:58

一类、二类和多项分类之间的区别在哪里?

如果我喜欢将文本分类为四个类,并且还希望系统能够告诉我这些类都不匹配未知/未经训练的测试数据。

难道我不能使用上面提到的所有方法来达到我的目标吗?例如,我可以将 C1、C2、C3 和 C4 描述为用于二进制分类的四个不同训练集,并使用训练后的模型来标记未知数据集......

简单地说,C1 的训练集包含 1 类(C1 的所有好样本)和 0 类(所有 C2、C3 和 C4 的混合作为 C1 的坏样本)。

是未标记数据 C1 -> 1 或 0

是未标记的数据 C2 -> 1 或 0 ...等等...

对于多项分类,我可以只定义一个训练集,其中包含一个训练集中 C1、C2、C3 和 C4 的所有良好样本数据,然后使用一个生成的模型进行分类......

但这两种方法的区别在哪里?(除了我必须使用不同的算法)

我将如何为所描述的使用一类分类对这四个类中的数据进行分类的问题定义一个训练集(这甚至可能)?

如果我的想法完全错误,请原谅。希望得到一个能让我更清楚地了解方法的答案=)

2个回答

这些方法之间的区别在于它们对任务所做的假设。 多类分类假设每个文档只有一个标签。因此,一份文件可以是关于运动的,也可以是关于天气的,而不是两者兼而有之。 多标签分类允许文档具有任意标签组合,包括没有标签。因此,文档可以只涉及体育、只涉及天气、体育和天气,或者两者都不是。

您可以使用每个文档只有一个标签的数据来训练多标签分类器,但不能保证在测试时做出的预测只有一个标签。此外,您还通过考虑比它需要的更多可能的标签来迫使分类器做更多的工作(并可能犯更多的错误)。因此,如果多类假设对您的问题有意义,那么您最好使用多类分类器。

您描述的用于训练单个二元分类器的方法对应于多标签分类。您使用的每个二元分类器都可以从一类数据或两类数据中进行训练。然而,这只是进行多标签分类的众多方法之一(更多信息请参见上面的维基百科页面)。

不幸的是,您描述的问题并不完全适合多类或多标签分类,因为您希望每个文档最多有一个标签。

您的训练数据需要是包含所有类别样本的一组数据,因为您正在尝试(我认为)创建一个将提供此类数据的模型。

你有没有想过你可能使用什么模型?我问是因为如果每个类中的数据量在训练数据中非常均匀,纯分类模型将获得更好的拟合。但是,回归模型需要数据类型比例来匹配预期输入。