Pytorch中的BCEWithLogitsLoss和培训课程数据集不平衡

时间:2019-02-15 20:20:07

标签: machine-learning statistics pytorch

关于pytorch的{​​{3}}的一些说明:我正在使用:pos_weights = torch.tensor([len_n/(len_n + len_y), len_y/(len_n + len_y)])来初始化损失,其中[1.0, 0.0]是负数类,而[0.0, 1.0]是正数类,和len_n, len_y分别是负样本和正样本的长度。

首先使用BCEWithLogitsLoss的原因恰好是因为我假设它通过避免网络仅简单地“默认”为最丰富的类类型来补偿正样本和负样本之间的不平衡。在训练集中。我想控制丢失的优先级,以正确地检测出较不丰富的类。以我为例,负火车样本比正样本多25到1倍,因此,网络正确预测正样本的比例很高,而不要具有较高的总预测率(即使默认始终为负,这非常重要),这一点非常重要,如果我只关心这一点,则可以得出96%的预测。)

问题,使用BCEWithLogitsLoss参数控制培训班的失衡情况,是否正确pos_weights我的假设?对损失评估中如何解决不平衡有任何见解?

0 个答案:

没有答案