两类的比例在分类问题上是否重要?

时间:2016-06-05 07:31:40

标签: machine-learning sentiment-analysis

我正在使用我收集的一些推文构建情绪分析程序。我收集的标记数据将通过一个神经网络,将它们分为两类,正面和负面。

数据仍在标记中。到目前为止,我观察到阳性类别的观察数量非常少。

我的训练集中的阳性类别记录可能约为训练数据集的5%(同样的比例也可以反映在人群中)。

这会在最终的“程序”中产生问题吗? 数据集的大小约为5000条记录。

2 个答案:

答案 0 :(得分:4)

是的,是的,它可以。有两件事需要考虑:

  1. 5000的5%是250.因此,您将尝试仅基于250个样本对您班级的数据分布进行建模。对于神经网络,这可能是几个数量级。因此,您可能需要多40倍的数据才能获得有代表性的数据样本。虽然你可以通过二次取样轻松地减少多数类,但没有破坏结构的巨大风险 - 没有办法从较少的点获得“更多的结构”(你可以复制点,添加噪声等但这不会增加结构,这只是假设)。
  2. 类不平衡也可以导致收敛到天真的解决方案,例如“总是假”,其准确率为95%。在这里,您可以简单地使用成本函数来使其更加稳健(尤其是@PureW建议的列车拆分,就像试图改变损失函数的“黑盒子”方法一样,因此它对少数群体有更大的权重当你有权访问你的分类器时,就像在NN中一样,你不应该这样做 - 而是改变成本函数并保留所有数据。)

答案 1 :(得分:2)

如果没有不同类的拆分,您可能需要在损失函数中引入权重,以便较小类中的错误被认为更重要。

另一种解决方案,因为根据您的问题,5000个样本可能会或可能不是很多数据,可能是对更多数据集进行采样。您基本上采用这组5000个样本,并从中采样数据点,以便您拥有一个甚至可以拆分类的新数据集。这意味着新数据集仅为原始数据集的10%。但它在各类之间平均分配。您可以多次重做此抽样,最终得到几个数据集,在bootstrap aggregating中很有用。