我在使用LSTM时遇到麻烦,有点卡住了。问题是我的精度为 .60-0.80 ,但是召回率确实很低 0.002-0.20
我有一个imabalance数据集问题,需要使用 tf.nn.weighted_cross_entropy_with_logits 进行梳理,但似乎仍然无法正常工作
其中self.pos_class_weight是
class1weight = max(0.00001, (np.size(y)) / (float(np.sum(y)) + 0.0001))
没关系,我验证了。
losses = tf.nn.weighted_cross_entropy_with_logits(logits=logits, targets=y, pos_weight=self.pos_class_weight)
loss = tf.reduce_mean(losses)
self.train_op = tf.train.AdamOptimizer(learning_rate=0.005).minimize(loss)
某种程度上,我的直觉是上述处理无常数据集问题的方法不正确。
问题甚至是我试图过分地适应(它没有这样做)。 我只是想增加召回率,让精度降低,但即使在增加隐藏层大小并使用堆叠的LSTM层之后,现在也不会发生。
我遗漏了一些非常基本的东西,但不知道它是什么,任何人都可以帮忙,或者指向我最好是用LSTM处理不平衡数据集问题的资源。