我正在使用CrossEntropyCriterion和我的网站。我有150个班级,每个班级的培训文件数量 非常不平衡 (5到2000个文件)。根据文档,我可以使用权重来补偿:
criterion = nn.CrossEntropyCriterion([weights])
“如果提供,可选参数权重应该是1D Tensor为每个类分配权重。当你有不平衡的训练集时,这尤其有用。”
权重应采用什么格式?例如:n级培训文件/培训文件总数。
答案 0 :(得分:1)
我认为你想在这个意义上平衡你的训练,小班变得更重要。一般来说,有无限多的可能加权导致各种结果。最简单的一个,简单地假设每个类应该同等重要(因此有效地放弃经验先验)是将权重与
成比例1 / # samples_in_class
例如
weight_of_class_y = # all_samples / # samples_in_y
这样,如果你有5:2000的分配,那么较小的类对于模型来说变得重要400倍。