我目前正在学习制作具有张量流的神经网络。该库提供了一种使用估算器DNNClassifier创建一个非常方便的方法,如本教程中所示:https://www.tensorflow.org/get_started/premade_estimators。
但是,在进行预测之前,我还没有设法看到如何选择输出图层的最终阈值:
例如,假设我们在' KO'之间有一个二元分类器。并且'好的'。神经网络的末端计算特定样本的每种可能性的概率,例如[0.4,0.6](所以答案是40%,KO'答案是#39的60%&#39 ;确定')。我假设dnn默认采用0.5的阈值,因此它将回答“确定”。这里。但是我希望将此阈值更改为0.8,以便如果dnn不确定为80%,那么它将回答“KO' (为了调整FP速率和FN速率)。 我们怎么做?
提前感谢您的帮助。
答案 0 :(得分:0)
预制的估算器有点僵硬。例如,DNNClassifier
没有提供改变损失函数或获取分类器输出的logits /概率的机制,正如您所发现的那样。
要修改预测的生成逻辑或修改损失函数,您必须创建自定义Estimator
。 This tutorial引导您完成整个过程。
如果您还没有花太多时间学习如何使用Estimator
API,我建议您也熟悉Keras,这是另一个用于深度构建和培训的高级API TensorFlow中的学习模型;您可能会发现使用Keras而不是Estimators构建自定义模型更容易。