在分层文本分类中处理少量示例

时间:2018-10-25 17:04:48

标签: machine-learning classification text-classification

我正在研究具有分层类结构的多类文本分类问题:每个文本示例的 super 类和 sub 类。我想做的是:根据文本预测超类,然后预测子类。为此,我需要执行以下操作:

  • 为数据拟合一个模型以预测超类;
  • 然后在循环中为超类的每个每个拟合一个单独的模型,以预测子类。

不幸的是,某些超级类的示例数量很少-一个类中最多可以包含1个示例!当然,我不能在一个示例上构建预测子类的模型。唯一可以做的就是从数据集中删除此类超类。可以尝试在2个示例上构建模型(1-用于火车,1-用于测试集,并为该超类始终预测相同的唯一子类)。将示例的数量限制为3、5、10,...,这样的人口稀少的超类的模型将至少具有一定意义。

处理少量示例的问题是在模型有用性模型性能之间进行权衡。一方面,我确实需要这些低填充的超类,因为当我获得下一个真实数据集时-肯定会有此类“麻烦”超类的示例,并且我确实希望能够为此类示例预测一个子类。另一方面,我根本无法将分类器应用于数据集,因为我无法将其正确划分为训练集和测试集(例如:超级类有100个示例,其中1个示例属于子类A,99个示例属于B类),或者由于模型无法在少数情况下学习良好而导致模型性能低下。

问题是-解决此类问题的典型方法是什么?

  • 在超类中建立示例的子类或多或少可靠的模型时,最小(阈值)值是否有经验法则?
  • 我应该对人口稀少的上级/子类应用过采样吗?并至少有助于解决火车/测试拆分问题吗?
  • 额外:假设我删除了人口少的超级类的示例。然后我在一个新的测试集上预测概率->该模型将给出该示例属于人口稠密的超类X的一些(可能较高)概率,但实际上,它属于我放弃的某些人口稠密的超类训练阶段。我应该忍受吗?还是有一种方法可以根据超类之间的概率分布确定模型做错了?

0 个答案:

没有答案