卷积神经网络的分类层-softmax和sigmoid

时间:2024-03-31 14:06:57

卷积神经网络的分类层-softmax和sigmoid

1. softmax

在学习一些卷积网络的模型时,我们经常看到模型最后有一个softmax层,这个层的主要作用就是输出物体是各个类的概率,接下来我们就来看一下其计算公式:
卷积神经网络的分类层-softmax和sigmoid
如上图所示,在全连接层得到了两个结果(有两个类别)L2_1L_{2\_1}L2_2L_{2\_2},为了公式方便书写我们就把它们看成是y1y_1y2y_2。我们想要得到的是各个类别的概率。这里需要注意在softmax层所有输出的概率之和为1。因此我们就要用到一个计算公式:
si=eyijeyjs_i = \frac{e^{y_i}}{\sum_je^{y_j}}
也就得到
s1=ey1ey1+ey2;s2=ey2ey1+ey2s_1 = \frac{e^{y_1}}{e^{y_1}+e^{y_2}};s_2 = \frac{e^{y_2}}{e^{y_1}+e^{y_2}}

2. sigmoid

sigmoid输出,每个节点之间互不相干。
卷积神经网络的分类层-softmax和sigmoid
计算公式:
f(x)=11+exf(x)=\frac{1}{1+e^{-x}}
sigmoid函数主要针对二分类问题,它可以不满足概率分布。当输入一张图片让你判断是否为猫的时候,那么结果只有两种,这是满足概率分布的;如果输入一张图片,让你判断是动物还是猫,那么就不满足概率分布了。