【问题标题】:Softmax or sigmoid for multiclass problem用于多类问题的 Softmax 或 sigmoid
【发布时间】:2019-11-14 13:27:15
【问题描述】:

我正在使用 VGG16 模型并对我的数据进行微调。我正在预测图像(面孔)的种族。我有 5 个输出类别,如白人、黑人、亚洲人、次大陆等。我应该使用softmax还是sigmoid。为什么?

【问题讨论】:

    标签: python image-processing deep-learning data-science


    【解决方案1】:

    乙状结肠:

    Softmax:

    当您使用 softmax 时,基本上您会得到每个类的概率(连接分布和多项似然)其总和必然为 1。

    在softmax的情况下,增加一个类的输出值会使其他类下降(因为总和=1)。如果您计划准确地找到一个值(在您的种族分类器中就是这种情况),您应该使用 softmax 函数。该功能的特点是“只能有一个”。因此,这些非常适合用于像您的问题这样的多类问题。

    sigmoid 函数的情况有所不同。该函数可以为我们提供基于阈值的前 n 个结果。 sigmoid 的特点是强调多个值(是的,可以多于一个,因此称为“多标签”),基于阈值,我们将其用于多标签分类问题。

    【讨论】:

      【解决方案2】:

      在一般情况下,如果您正在处理多类分类问题,则应该使用 Softmax,因为通过单独加权可以保证所有类的概率之和总和为 1并计算连接分布,而使用 Sigmoid,您将单独预测每个类的概率,但不必加权。如果不小心并意识到差异,您可能会在输出中遇到一些问题。

      【讨论】:

        猜你喜欢
        • 2020-10-25
        • 2020-10-21
        • 2018-10-04
        • 2021-03-23
        • 2020-09-02
        • 2017-05-15
        • 2019-02-02
        • 1970-01-01
        • 2018-10-24
        相关资源
        最近更新 更多