为了账号安全,请及时绑定邮箱和手机立即绑定

未经训练的二元分类 keras 模型的输出为 1

未经训练的二元分类 keras 模型的输出为 1

智慧大石 2021-09-28 17:20:22
我正在尝试构建一个带有一个隐藏层的小型神经网络。我希望在训练之前,模型会输出看起来随机的值。但是对于所有输入,我得到 1.0 作为输出。为什么会这样?import tensorflow as tffrom tensorflow import kerasimport numpy as npdef NewModel():  return keras.Sequential([    keras.layers.Dense(20, input_shape=(18,), activation=tf.nn.relu, name="inputLayer"),    keras.layers.Dense(1, activation=tf.nn.softmax, name="outputLayer"),    ])model = NewModel()i = np.array([[0.2]*18])print(model.predict(i))
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

您不能对单个输出神经元使用 softmax,因为它通过除以所有神经元的输出进行归一化,这会产生一个恒定的 1.0 值,这就是您所看到的。


查看完整回答
反对 回复 2021-09-28
  • 1 回答
  • 0 关注
  • 206 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信