softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。
假设我们有一个数组V=[V1,V2,…,Vj],Vi表示V中的第i个元素,那么这个元素的softmax值就是:
举个例子:
设有三个数值A=5,B=1,C=-1,那么他们的softmax占比为:
P
(
A
)
=
e
5
e
5
+
e
1
+
e
−
1
=
0.9817
P(A) =\frac{e^5}{e^5+e^1+e^{-1}}=0.9817
P(A)=e5+e1+e−1e5=0.9817
P
(
B
)
=
e
1
e
5
+
e
1
+
e
−
1
=
0.0180
P(B) =\frac{e^1}{e^5+e^1+e^{-1}}=0.0180
P(B)=e5+e1+e−1e1=0.0180
P
(
C
)
=
e
−
1
e
5
+
e
1
+
e
−
1
=
0.0003
P(C) =\frac{e^{-1}}{e^5+e^1+e^{-1}}=0.0003
P(C)=e5+e1+e−1e−1=0.0003
P( A )+P( B )+P( C )=1
关于反向传播,求导过程,参考一下:
参考:
https://www.jianshu.com/p/695136c5647b
https://zhuanlan.zhihu.com/p/105722023