我正在尝试构建一个多标签分类器来预测某些输入数据的概率为0或1.我使用的是神经网络和Tensorflow + Keras(后来可能是CNN).
问题如下:数据严重偏差.还有很多负面的例子,而不是积极的,可能是90:10.因此,我的神经网络几乎总是输出非常低的概率作为正例.使用二进制数,它在大多数情况下会预测为0.
几乎所有类别的性能都> 95%,但这是因为它几乎总是预测为零......因此假阴性的数量非常高.
一些建议如何解决这个问题?
以下是我到目前为止所考虑的想法:
使用定制的损失函数惩罚假阴性(我的第一次尝试失败).类似于类中加权积极的例子而不是消极的例子.这类似于类权重,但在类中.你会如何在Keras实现这一点?
通过克隆它们然后过度拟合神经网络来过采样正例,以便平衡正面和负面的例子.
提前致谢!
python neural-network multilabel-classification keras tensorflow