我建立了一个预测1或0的网络。我现在正在研究该网络的ROC曲线,我必须找到TN,FN,TP,FP。当我的网络输出>> 0.5且期望输出为1时,我将其归类为True Positive。当它的> = 0.5且期望输出为0时,我将其归类为假阳性。这是正确的做法吗?只是想确定我的理解是否正确。
答案 0 :(得分:1)
这完全取决于您使用网络的方式,因为真/假阳性/阴性只是分析您的分类结果的一种形式,而不是网络的内部。根据您所编写的内容,我假设您拥有一个具有一个输出节点的网络,该节点可以在[0,1]
中产生值。如果您使用模型,那么如果此值大于0.5,那么您将假定1
输出和0
,否则,您是正确的。一般来说,您应该考虑输出的“解释”,并简单地使用TP,FN等的定义,可归纳如下:
your network
truth 1 0
1 TP FN
0 FP TN
我提到“解释”,因为实际上你总是使用一些函数g( output )
,它返回预测的类号。在您的情况下,它只是g( output ) = 1 iff output >= 0.5
。但是在多类问题中它可能是g( output ) = argmax( output )
,但它并不特别需要“绘制”(当两个或多个神经元具有相同的值时)。要计算真/假阳性/阴性,您应始终只考虑最终分类。因此,您正在衡量模型的质量,学习过程以及“解释”g
。
还应该指出,“积极”和“消极”阶级的概念通常是模棱两可的。在诸如检测某些物体/事件之类的问题中,很明显,“出现”是一个积极的事件而“缺乏”是消极的,但在许多其他事件中 - 例如性别分类,没有明确的解释。在这种情况下,应该仔细选择使用的指标,因为其中一些偏向于正(或负)示例(例如 precision 不考虑真或假阴影)。