神经网络没有给出所需的输出?

人工智能 神经网络 张量流
2021-11-03 11:48:38

使用张量流制作了一个神经网络,该网络应该将 IP 与 7 种漏洞之一匹配,并给出 IP 具有的漏洞类型。


    model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(50, activation=tf.nn.relu),
  tf.keras.layers.Dense(7, activation=tf.nn.softmax)
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])



model.fit(xs, ys, epochs=500)

执行此命令时的输出print(model.predict([181271844]))应该是从 1 到 7 的数字之一,但它给出的输出是

[[0.22288103 0.20282331 0.36847615 0.11339897 0.04456346 0.02391759 0.02393949]]

我似乎无法弄清楚问题是什么。

1个回答

您作为输出看到的数字是概率向量这是多类分类模型的常见输出格式。

在这种情况下,您可以将向量解释为:

  • 22% 的机会 1
  • 20% 的机会进入第 2 班
  • 37% 的机会进入第 3 级
  • 11% 的机会进入第 4 班
  • 5 级的 4% 的机会
  • 2% 的机会进入 6 级
  • 7 级的 2% 机会

如果你想从中得到一个具体的标签,最简单的选择是计算并返回最大元素的索引。