首页 > 解决方案 > 用于多类问题的 Softmax 或 sigmoid

问题描述

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

标签: pythonimage-processingdeep-learningdata-science

解决方案


乙状结肠:

在此处输入图像描述

软最大:

在此处输入图像描述

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

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

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


推荐阅读