小编mar*_*s93的帖子

使用softmax作为输出函数,同时使用binary_crossentropy作为损失函数?

目前我正在训练二元分类模型。我喜欢有两个概率(每个现有类一个)的想法,它们的总和为 1。因此,我在输出层中使用了 softmax,并且获得了非常高的准确度(高达 99.5%),同时损失也非常低0,007。在进行一些研究时,我发现二元交叉熵是训练二维分类问题时唯一真正的选择。

现在,当我想使用softmax时,我是否必须使用classification_crossentropy作为损失函数,我感到很困惑。您能帮助我了解二元分类问题中应该使用什么作为损失函数和激活函数以及为什么?

这是我的代码:

model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(10, input_dim=input_dim, activation='sigmoid'))
model.add(tf.keras.layers.Dense(10, activation='sigmoid'))
model.add(tf.keras.layers.Dense(2, activation='softmax'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow

0
推荐指数
1
解决办法
2533
查看次数

标签 统计

keras ×1

machine-learning ×1

python ×1

tensorflow ×1