神经网络分类器最终结果为某一向量,即“原始输出值”,如[-0.5, 1.2, -0.1, 2.4],这四个输出值分别对应胸部X光检查后发现的肺炎、心脏肥大、瘤和脓肿。但这些原始输出值是什么意思?
将输出值转换为概率可能更容易理解。比起看似随意的“2.4”,患有糖尿病的可能性为91%,这种说法更便于患者理解。
Sigmoid函数或Softmax函数可以将分类器的原始输出值映射为概率。
下图显示了将前馈神经网络的原始输出值(蓝色)通过Sigmoid函数映射为概率(红色)的过程:
Sigmoid函数会分别处理各个原始输出值,因此其结果相互独立,概率总和不一定为1,如图0.37 + 0.77 + 0.48 + 0.91 = 2.53。
然后采用Softmax函数重复上述过程:
相反,Softmax函数的输出值相互关联,其概率的总和始终为1,如图0.04 + 0.21 + 0.05 + 0.70 = 1.00。因此,在Softmax函数中,为增大某一类别的概率,其他类别的概率必须相应减少。
总结
如果模型输出为非互斥类别,且可以同时选择多个类别,则采用Sigmoid函数计算该网络的原始输出值。
如果模型输出为互斥类别,且只能选择一个类别,则采用Softmax函数计算该网络的原始输出值。