【问题标题】:Keras output layer step tresholdKeras 输出层步长阈值
【发布时间】:2019-04-09 23:54:42
【问题描述】:

我正在尝试构建一个 Keras 模型。

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dropout(0.2),  
  tf.keras.layers.Dense(50, activation='sigmoid'),
  tf.keras.layers.Dense(50, activation='linear'),
  tf.keras.layers.Dense(100, activation='sigmoid'),
  tf.keras.layers.Dense(25, activation='softmax'),
  tf.keras.layers.ReLU(max_value=1)
])

虽然期望的输出应该是 1 或 0。我知道由于随机梯度下降,我们不能这样做。但是有没有可以设置阈值的步骤层,所以我得到 0 或 1 作为输出?所需输出的形状为 (1,25)

【问题讨论】:

    标签: keras neural-network sequential


    【解决方案1】:

    对于二进制输出,您应该在输出处使用sigmoid 激活和binary_crossentropy 损失。然后您可以简单地对输出进行四舍五入或应用阈值 0.5 以获得二进制 0/1 值。

    【讨论】:

      猜你喜欢
      • 2018-04-12
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      相关资源
      最近更新 更多