我正在使用0.10rc0 Tensorflow的contrib.learn.DNNClassifier来学习二进制分类问题。损失从最初的数千下降到0.7左右,但准确率和精确度徘徊在50%左右,而召回率下降到0.0001。使用另一个优化器损失降至70左右,准确度/精度徘徊在50%左右,召回率约为20%。
问题:如果准确性/精确度/召回率仍然很糟糕,损失怎么可能下降?
我可以理解损失函数是否错误,但我使用TF的DNNClassifier,因此他们已经指定了损失函数。我想他们知道他们在那个部门做了什么。以下是一些可能相关的其他事实:
这是最新的验证步骤输出:
INFO:tensorflow:Validation (step 9280): labels/actual_target_mean = 0.517459, labels/prediction_mean = 0.498576, recall/positive_threshold_0.500000_mean = 0.000114476, recall = 0.000114476, auc = 0.499985, precision/positive_threshold_0.500000_mean = 0.487179, precision = 0.487179, loss = 0.721832, accuracy/threshold_0.500000_mean = 0.482538, global_step = 9280, accuracy/baseline_target_mean = 0.517459, accuracy = 0.482538
我缺少什么?