用于多类问题的Softmax或Sigmoid

时间:2019-11-14 13:27:15

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

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

2 个答案:

答案 0 :(得分:1)

乙状结肠:

enter image description here

Softmax:

enter image description here

使用softmax时,基本上可以获得每个类别的概率(联合分布和多项式似然)其总和必定为一个

在softmax的情况下,增加一类的输出值会使另一类的输出下降(因为总和= 1始终)。如果您打算精确地找到一个值(种族分类器就是这种情况),则应使用softmax函数。此功能的特征是“只能有一个”。因此,它们非常适合用于多类问题,例如您的问题。

对于S型函数,情况有所不同。此函数可以根据阈值为我们提供前n个结果。乙状结肠的特征是基于阈值强调多个值(是,可以大于一个,因此称为“多标签”),我们将其用于多标签分类问题。

答案 1 :(得分:0)

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