machine-learning - 对网络的输出进行分类

标签 machine-learning neural-network roc

我创建了一个预测 1 或 0 的网络。我现在正在研究该网络的 ROC 曲线,我必须找到 TN、FN、TP、FP。当我的网络的输出 >= 0.5 且期望输出为 1 时,我将其分类为真阳性。当它 >=0.5 且所需输出为 0 时,我将其归类为“误报”。这是正确的做法吗?只是想确定我的理解是否正确。

最佳答案

这完全取决于您如何使用网络,因为真/假正/负只是分析分类结果的一种形式,而不是网络的内部结构。根据您所写的内容,我假设您有一个具有一个输出节点的网络,该网络可以在 [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),但它不一定是这样,特别是“绘制”(当两个或多个神经元具有相同的值时)怎么样?值(value))。为了计算真/假阳性/阴性,您应该始终只考虑最终分类。因此,您正在衡量模型的质量、学习过程以及这种“解释”g

还应该注意的是,“正类”和“负类”的概念通常是不明确的。在诸如检测某些物体/事件之类的问题中,很明显,“出现”是积极事件,“缺乏”是消极事件,但在许多其他问题中 - 例如性别分类,没有明确的解释。在这种情况下,人们应该仔细选择使用的指标,因为其中一些指标偏向于正面(或负面)示例(例如精度既不考虑真负例,也不考虑假负例)。

关于machine-learning - 对网络的输出进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18574613/

相关文章:

machine-learning - 预测分类器 tensorflow 中的概率

machine-learning - 神经网络: constraint certain input nodes contribution to certain output nodes

neural-network - 输出体积的大小(卷积神经网络)

r - 这种对 ROC 绘图的优化背后的基本原理是什么?

python - TensorFlow:Python 中的所有基本操作都在 Tensorflow 中被覆盖吗

machine-learning - 机器学习敏感数据的混淆

c - 如何从 C 中读取 Torch 张量

r - R中的SVM:“预测变量必须是数字或有序的。”

python - 如何手动计算ROC的AUC?

r - kmean 中簇面积的公式