大型多级NLP分类的不平衡数据和样本大小

时间:2015-06-23 21:56:46

标签: machine-learning nlp classification sample maxent

我正在开发一个NLP项目,我希望使用MaxEnt将文本分类为20个不同的类之一。我正在从手写的管理数据手动创建培训,验证和测试集。

我想确定训练集中的类所需的样本大小以及验证/测试集的适当大小。

在现实世界中,20种结果是不平衡的。但我正在考虑创建一个平衡的训练集来帮助建立模型。

所以我有两个问题:

如何确定训练集中每个类别的适当样本量?

验证/测试集是否应该是不平衡的,以反映模型在面对现实世界数据时可能遇到的情况?

1 个答案:

答案 0 :(得分:0)

为了确定测试集的样本大小,您可以使用Hoeffding的不等式。

E 为正容差值, N 为数据集的样本大小。

然后我们可以计算Hoeffding的不等式, p = 1 - (2 * EXP(-2 *( E ^ 2)* N ))。

E = 0.05(±5%)且 N = 750,然后 p = 0.9530。这意味着,在95.3%的确定性下,您的(样本内)测试错误不会偏离样本超过5%。

关于培训和验证集的样本规模,有一个既定的惯例将数据分割如下:50%用于培训,25%用于验证和测试。这些集合的最佳大小很大程度上取决于训练集和数据中的噪声量。有关详细信息,请参阅“统计学习要素”中的“模型评估和选择”。

至于您关于不平衡数据集的其他问题,请查看此主题:https://stats.stackexchange.com/questions/6254/balanced-sampling-for-network-training