使用具有不平衡训练集的权重的Torch7

时间:2016-01-15 22:33:23

标签: machine-learning neural-network torch conv-neural-network

我正在使用CrossEntropyCriterion和我的网站。我有150个班级,每个班级的培训文件数量 非常不平衡 (5到2000个文件)。根据文档,我可以使用权重来补偿:

criterion = nn.CrossEntropyCriterion([weights])

“如果提供,可选参数权重应该是1D Tensor为每个类分配权重。当你有不平衡的训练集时,这尤其有用。”

权重应采用什么格式?例如:n级培训文件/培训文件总数。

1 个答案:

答案 0 :(得分:1)

我认为你想在这个意义上平衡你的训练,小班变得更重要。一般来说,有无限多的可能加权导致各种结果。最简单的一个,简单地假设每个类应该同等重要(因此有效地放弃经验先验)是将权重与

成比例
1 / # samples_in_class

例如

weight_of_class_y = # all_samples / # samples_in_y

这样,如果你有5:2000的分配,那么较小的类对于模型来说变得重要400倍。