卷积神经网络的分类层-softmax和sigmoid
1. softmax
在学习一些卷积网络的模型时,我们经常看到模型最后有一个softmax层,这个层的主要作用就是输出物体是各个类的概率,接下来我们就来看一下其计算公式:
如上图所示,在全连接层得到了两个结果(有两个类别)
L
2
_
1
L_{2\_1}
L2_1与
L
2
_
2
L_{2\_2}
L2_2,为了公式方便书写我们就把它们看成是
y
1
y_1
y1和
y
2
y_2
y2。我们想要得到的是各个类别的概率。这里需要注意在softmax层所有输出的概率之和为1。因此我们就要用到一个计算公式:
s
i
=
e
y
i
∑
j
e
y
j
s_i = \frac{e^{y_i}}{\sum_je^{y_j}}
si=∑jeyjeyi
也就得到
s
1
=
e
y
1
e
y
1
+
e
y
2
;
s
2
=
e
y
2
e
y
1
+
e
y
2
s_1 = \frac{e^{y_1}}{e^{y_1}+e^{y_2}};s_2 = \frac{e^{y_2}}{e^{y_1}+e^{y_2}}
s1=ey1+ey2ey1;s2=ey1+ey2ey2
2. sigmoid
sigmoid输出,每个节点之间互不相干。
计算公式:
f
(
x
)
=
1
1
+
e
−
x
f(x)=\frac{1}{1+e^{-x}}
f(x)=1+e−x1
sigmoid函数主要针对二分类问题,它可以不满足概率分布。当输入一张图片让你判断是否为猫的时候,那么结果只有两种,这是满足概率分布的;如果输入一张图片,让你判断是动物还是猫,那么就不满足概率分布了。