【问题标题】:H2o Deep Learning: predict() returns value greater than 1 with tanhH2o 深度学习:predict() 使用 tanh 返回大于 1 的值
【发布时间】:2020-01-22 21:21:54
【问题描述】:

使用 H2O 深度学习和 Tanh 激活函数,得到大于 1 的预测(概率)值是否可以接受/有效?如果是这样,这不会使预测偏向第一类吗?

详情: 我在 R 中使用 H2O 进行深度学习人工神经网络来预测 2 个类别。我的 y 数据 (actualResults) 是只有 0 和 1 的实际分类。 x 自变量都是数值,训练框架不包括 y (actualResults)。当我对预测值进行最大值时,我得到的值大于 1,从不小于 -1,尽管 Tanh 应该限制为 [-1, 1]。

问题:

  1. 这些预测值大于 1 是否可接受/有效?
  2. 为什么 Tanh 的预测值大于 1?
  3. 此值是否出现大于 1 个偏斜/偏向的正(第 1 类)预测?

注意:在下面的代码中,training_settesting_set 的第一列是实际的分类,因此 -c(1) 将其删除以作为网络输入。

ANN <- h2o.deeplearning(y = "actualResult",
                              x = independentVariableColumns,
                              training_frame = as.h2o(training_set[-c(1)]),
                              activation = "Tanh",
                              hidden = rep(3, 3),
                              epochs = 100)


prediction <- h2o.predict(ANN, newdata = as.h2o(test_set[-c(1)]))
maxPrediction <- max(prediction)

【问题讨论】:

    标签: r machine-learning neural-network deep-learning h2o


    【解决方案1】:

    prediction 的第一列是预测的类。尝试max(prediction)[-c(1)] 从概率中获取最大值。

    【讨论】:

      猜你喜欢
      • 2016-07-25
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 2016-10-14
      相关资源
      最近更新 更多