【问题标题】:softmax and sigmoid are giving same results in multiclass classificationsoftmax 和 sigmoid 在多类分类中给出相同的结果
【发布时间】:2020-10-25 19:11:46
【问题描述】:

我正在构建一个 lstm 模型。我使用 softmax 和 sigmoid 激活函数测试了我的模型。在文档中,sigmoid 用于二进制分类,softmax 用于多类分类。但就我而言,两者都给出了相同的结果。为什么会这样?
这是我的代码:

embedding_vecor_length = 128
max_length = 700
model = Sequential()
model.add(Embedding(len(tokenizer.word_index)+1, embedding_vecor_length, input_length=max_length))
model.add(Conv1D(filters=32, kernel_size=5, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Conv1D(filters=16, kernel_size=3, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Bidirectional(LSTM(64)))
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())

以下是预测结果:

   [[2.72062905e-02 1.47979835e-03 4.44446778e-04 1.60833297e-05
  4.15672457e-06 3.20438482e-02 9.38653767e-01 1.41544719e-04
  5.55426550e-06 4.47654566e-06]
 [2.31099591e-01 1.71699154e-03 1.32052042e-02 4.70457249e-04
  8.86382014e-02 2.65704724e-03 6.54215395e-01 7.50611164e-03
  4.89178114e-04 1.89376965e-06]
 [1.24909900e-01 8.73659015e-01 9.71468398e-06 1.66079029e-04
  1.05203628e-06 4.14116839e-05 3.97000113e-05 6.98190925e-05
  1.10231712e-03 9.84829512e-07]

【问题讨论】:

  • 我猜,你只有 2 个类。在这种情况下,softmax 函数简化为 sigmoid 函数
  • 但是我的密集层需要 10 个类来预测。
  • 也许这是一个实现细节。检查您正在使用的 ML 框架。或在此处发布您的代码
  • @pythonic833 我已经用代码 sn-p 更新了我的问题。我希望它会有所帮助。感谢您的回复。

标签: python deep-learning lstm softmax sigmoid


【解决方案1】:

sigmoid 允许您对所有类、其中一些类或没有类都具有较高的概率。示例:对胸部 X 射线图像中的疾病进行分类。该图像可能包含肺炎、肺气肿和/或癌症,或者没有这些发现。

softmax 强制输出类的概率之和等于 1,因此为了增加特定类的概率,您的模型必须相应地降低至少一个其他类的概率。示例:从 MNIST 手写数字数据集中对图像进行分类。一个数字的单张图片只有一个真实身份 - 图片不能同时是 7 和 8。

因此,在您的情况下,如果模型良好,则在使用 sigmoid 或 softmax 时预测不会有太大差异,softmax 会强制预测总和为 1 sigmoid 不会这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 2020-09-02
    • 2020-08-21
    • 2018-03-18
    • 2015-06-29
    • 1970-01-01
    相关资源
    最近更新 更多