【问题标题】:How to use False Positives metric in Tensorflow 2.0?如何在 Tensorflow 2.0 中使用误报指标?
【发布时间】:2019-10-04 19:11:30
【问题描述】:

在 Tensorflow 2.0 中,我正在尝试构建一个模型,将我的对象分为两类:正面和负面。

我想使用tf.keras.metrics.FalsePositivestf.keras.metrics.FalseNegatives 指标来查看模型在每个时期的改进情况。这两个指标都有断言规定:[predictions must be >= 0][predictions must be <= 1]

问题在于未经训练的模型可以生成任意数字作为预测。但即使是经过训练的模型有时也会产生略高于 1 或略低于 0 的输出。

有什么方法可以禁用这些断言?

或者,是否有任何合适的激活函数可以强制模型输出进入[0, 1] 范围而不会导致学习率出现任何问题?

【问题讨论】:

  • 如果输出必须在[0, 1] 范围内,则sigmoid 激活函数是一个合适的替代方案。
  • 就我而言,技术规范说我必须使用tanh,所以我仅限于使用tanh
  • @stephen_mugisha,但总的来说这是个好主意。我可以添加sigmoid 层只是为了验证,然后在生产中删除它。您能否将其添加为答案,以便我接受。
  • 当然..有时您也可以选择在隐藏层中使用其他激活函数,但对输出层使用 sigmoid,以便输出范围在 0 和 1 之间。

标签: tensorflow2.0 tf.keras keras-metrics


【解决方案1】:

如果输出必须在 [0, 1] 范围内,sigmoid 激活函数是一个合适的替代方案,因为它的范围也在 0 t0 1 范围内。

【讨论】:

    猜你喜欢
    • 2018-02-07
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2020-06-15
    相关资源
    最近更新 更多