使用低质量训练集训练多标签分类器

数据挖掘 机器学习 分类 深度学习 多类分类 多标签分类
2022-03-13 14:24:05

所以我正在创建一个主题分类器,其中一个文档可能被标记为几个不同的主题,比方说 - A、B 而实际上该文档属于 A、B 和 C。在训练阶段,我希望分类器了解该文档属于 A 和 B,但我不确定 C 类,所以我不希望它知道文档不属于 C 类。关于如何实现这样的事情有什么想法吗?

我考虑过为输出标签添加权重(低权重意味着文档不可能属于方面,高权重意味着文档肯定属于方面,中等权重意味着我不确定(所以在这种情况会更低)。

3个回答

您几乎解决了最后一段中的问题。更正式地表达,您的成本函数可以是

1Ni,jci,jyi,jlogxi,j

在哪里i遍历项目/文件,以及j跑过班级,x是你的预测,y是二进制标签(如果项目为 1i有课j), 和0<c<1是你的信心。这是对交叉熵的简单修改。当信心c低,预测值的重要性较小。

多标签分类在 nlp 中似乎是一个困难的分类。最近已经为此目的开发了许多技术。

ML-PA-LDA算法似乎适用于多标签方法。PA 代表存在缺席,他们考虑由于文档中没有类而导致的相关性。

你在最后一段是对的。您可以为此目的使用 tensorflow。Tensorflow 支持将输出作为类向量。

MNIST 数据集的 tensorflow 入门教程使用输出作为维度 10 的向量(每个类一个 0..9)

https://www.tensorflow.org/tutorials/mnist/beginners/