不平衡多类分类问题的层次分解

机器算法验证 分类 文本挖掘 随机森林 多级
2022-03-29 08:52:44

我有一个严重不平衡的多类文本分类问题:一个类是非常可能的先验(P),而其余四个几乎同样不可能(I1to I4)。我使用单个多类随机森林进行了许多实验,试图一次对所有类进行建模(目标是优化负对数似然)。

然而,该特定问题的严重不平衡结构让我认为,更好的策略是将其分解为层次结构,将不可能的类合并为一个(I):可以使用第一级 RF 来建模PvsI二元问题,而二级RF可以专注于专业的四类问题。然后很容易将两个模型的输出合并为一个。

我的直觉是这种分解应该很有效,因为每个模型的任务都比整体模型更简单,训练信息更多(即在更广泛和更不均匀的类别中被稀释更少)。但即使我非常小心地使我的两个实现非常相似和可比,我发现单个多类模型明显优于分层模型,这与我的直觉相反。我想知道是否有办法理解这个结果。

1个回答

分层分类模型经常由于不同的原因而失败。这就是为什么通常首选基于 one-vs-rest 的平面分类方法的原因。

文献中讨论的主要原因之一是,一旦层次结构的上层出现错误,模型就无法恢复。要在您的情况下分析此类问题,您应该计算第一步PI二进制问题中的错误。这将具有很强的指示性,好像您的模型在那里的准确性很低,在最后一个级别会更低。

之后,层次结构的设计也是一个问题。对人类来说直观的东西不一定会产生最佳性能。例如,在您的情况下,按照您的描述(Pvs I)拆分问题可能很直观。然而,从机器学习的角度来看,由于数据的特殊性等原因,这可能不是最佳的。为了更好地理解这一点,想象一下PvsI是困难的(类的例子不多I,相似的特征......)。可能还有另一个问题,例如I1VsOthers这更简单,更适合您的层次结构的根。这是设计层次结构时需要考虑的一个严重问题。您只需从更简单(更容易)的问题(层次结构的顶部)开始,将更困难的问题放在底部,因为您无法克服错误。

顺便说一句,有几种可以说是更简单的方法来处理不平衡的数据集,例如向不频繁类添加权重、对频繁类进行二次采样、对不频繁类进行过采样等。您可能想先尝试一下。