Sigmoid 与 Softmax 的区别
Sigmoid 与 Softmax 的区别结论定义图例参考:Multi-label vs. Multi-classClassification: Sigmoid vs. Softmax、Sigmoid function、Softmax function结论sigmoid:使大的更大、小的更小(保持数值被归整到0-1之间)softmax:使所有的值之和为1(保持数值间的大小关系)定义sigmoid
Sigmoid 与 Softmax 的区别
1 定义
sigmoid 处理的是单个输入值,不关注整体输入数据的关系。对于
K
K
K分类问题中处理样本
x
i
x_i
xi有:
σ
(
γ
i
j
)
=
1
1
+
e
−
γ
i
j
f
o
r
j
=
1
,
.
.
.
,
K
\sigma( \gamma_{ij}) =\frac{1}{1+e^{-\gamma_{ij}}} \ \mathrm{for} \ j=1,...,K
σ(γij)=1+e−γij1 for j=1,...,K
softmax 处理的是单个与整体的输入值,关注整体输入数据的关系。对于
K
K
K个标签的多分类问题中处理样本
x
i
x_i
xi有:
s
o
f
t
m
a
x
(
γ
i
j
)
=
e
γ
i
j
∑
k
=
1
K
e
γ
i
k
f
o
r
j
=
1
,
.
.
.
,
K
softmax( \gamma_{ij})=\frac{e^{ \gamma_{ij}}}{\sum _{k=1}^{K} e^{ \gamma_{ik}}} \ \ \mathrm{for} \ j=1,...,K\
softmax(γij)=∑k=1Keγikeγij for j=1,...,K
2 图例
3 拓展:sigmoid、tanh求导
3.1 sigmoid求导
s
i
g
m
o
i
d
=
1
1
+
e
−
x
\mathrm{sigmoid}=\frac{1}{1+e^{-x}}
sigmoid=1+e−x1
s
i
g
m
o
i
d
′
(
x
)
=
d
(
1
1
+
e
−
x
)
d
(
1
+
e
−
x
)
⋅
d
(
1
+
e
−
x
)
d
(
−
x
)
⋅
d
(
−
x
)
d
x
=
−
1
(
1
+
e
−
x
)
2
⋅
e
−
x
⋅
−
1
=
e
−
x
+
1
−
1
(
1
+
e
−
x
)
2
=
1
1
+
e
−
x
−
1
(
1
+
e
−
x
)
2
=
1
1
+
e
−
x
(
1
−
1
1
+
e
−
x
)
=
s
i
g
m
o
i
d
(
x
)
(
1
−
s
i
g
m
o
i
d
(
x
)
)
\begin{aligned} \mathrm{sigmoid}'( x) &=\frac{\mathrm{d}\left(\frac{1}{1+e^{-x}}\right)}{\mathrm{d}\left( 1+e^{-x}\right)} \cdotp \frac{\mathrm{d}\left( 1+e^{-x}\right)}{\mathrm{d}( -x)} \cdot \frac{\mathrm{d}( -x)}{\mathrm{d} x}\\ &=-\frac{1}{\left( 1+e^{-x}\right)^{2}} \cdot e^{-x} \cdot -1\\ &=\frac{e^{-x} +1-1}{\left( 1+e^{-x}\right)^{2}} =\frac{1}{1+e^{-x}} -\frac{1}{\left( 1+e^{-x}\right)^{2}}\\ & =\frac{1}{1+e^{-x}}\left( 1-\frac{1}{1+e^{-x}}\right)\\ &=\mathrm{sigmoid}( x)\left( 1-\mathrm{sigmoid}( x)\right) \end{aligned}
sigmoid′(x)=d(1+e−x)d(1+e−x1)⋅d(−x)d(1+e−x)⋅dxd(−x)=−(1+e−x)21⋅e−x⋅−1=(1+e−x)2e−x+1−1=1+e−x1−(1+e−x)21=1+e−x1(1−1+e−x1)=sigmoid(x)(1−sigmoid(x))
3.2 tanh求导
t
a
n
h
(
x
)
=
1
−
e
−
2
x
1
+
e
−
2
x
\mathrm{tanh}( x) =\frac{1-e^{-2x}}{1+e^{-2x}}
tanh(x)=1+e−2x1−e−2x
t
a
n
h
′
(
x
)
=
d
(
1
−
e
−
2
x
)
d
x
⋅
(
1
+
e
−
2
x
)
−
(
1
−
e
−
2
x
)
⋅
d
(
1
+
e
−
2
x
)
d
x
(
1
+
e
−
2
x
)
2
=
d
(
1
−
e
−
2
x
)
d
(
−
2
x
)
⋅
(
−
2
)
⋅
(
1
+
e
−
2
x
)
−
(
1
−
e
−
2
x
)
⋅
d
(
1
+
e
−
2
x
)
d
(
−
2
x
)
⋅
(
−
2
)
(
1
+
e
−
2
x
)
2
=
−
e
−
2
x
⋅
(
−
2
)
1
+
e
−
2
x
−
(
1
−
e
−
2
x
)
⋅
e
−
2
x
⋅
(
−
2
)
(
1
+
e
−
2
x
)
2
=
4
e
−
2
x
(
1
+
e
−
2
x
)
2
=
(
1
+
e
−
2
x
)
2
−
(
1
−
e
−
2
x
)
2
(
1
+
e
−
2
x
)
2
=
1
−
t
a
n
h
2
(
x
)
\begin{aligned} \mathrm{tanh} '( x) &=\frac{\frac{\mathrm{d}\left( 1-e^{-2x}\right)}{\mathrm{d} x} \cdot \left( 1+e^{-2x}\right) -\left( 1-e^{-2x}\right) \cdot \frac{\mathrm{d}\left( 1+e^{-2x}\right)}{\mathrm{d} x}}{\left( 1+e^{-2x}\right)^{2}}\\ &=\frac{\frac{\mathrm{d}\left( 1-e^{-2x}\right)}{\mathrm{d}( -2x)} \cdot ( -2) \cdot \left( 1+e^{-2x}\right) -\left( 1-e^{-2x}\right) \cdot \frac{\mathrm{d}\left( 1+e^{-2x}\right)}{\mathrm{d}( -2x)} \cdot ( -2)}{\left( 1+e^{-2x}\right)^{2}}\\ &=\frac{-e^{-2x} \cdot ( -2)}{1+e^{-2x}} -\frac{\left( 1-e^{-2x}\right) \cdot e^{-2x} \cdot ( -2)}{\left( 1+e^{-2x}\right)^{2}} =\frac{4e^{-2x}}{\left( 1+e^{-2x}\right)^{2}}\\ &=\frac{\left( 1+e^{-2x}\right)^{2} -\left( 1-e^{-2x}\right)^{2}}{\left( 1+e^{-2x}\right)^{2}}\\ &=1-\mathrm{tanh}^{2}( x) \end{aligned}
tanh′(x)=(1+e−2x)2dxd(1−e−2x)⋅(1+e−2x)−(1−e−2x)⋅dxd(1+e−2x)=(1+e−2x)2d(−2x)d(1−e−2x)⋅(−2)⋅(1+e−2x)−(1−e−2x)⋅d(−2x)d(1+e−2x)⋅(−2)=1+e−2x−e−2x⋅(−2)−(1+e−2x)2(1−e−2x)⋅e−2x⋅(−2)=(1+e−2x)24e−2x=(1+e−2x)2(1+e−2x)2−(1−e−2x)2=1−tanh2(x)
4. 结论
sigmoid:使大的值更大、小的值更小(数值被归整到0-1之间);多用于多分类问题。
- Linear regression的输出使用sigmoid激活后成为logistic regression,logistic regression能实现非线性特征变换,这也就是加深网络的意义。(Limitation of Logistic Regression)
- 类似的激活函数还有ReLU(rectified linear unit)、tanh(双曲正切)函数等(3.8 多层感知机)
softmax:使所有的值之和为1(保持数值间的大小关系);可用于多标签分类问题。
- 和线性回归不同,softmax回归的输出单元从⼀个变成了多个,且引⼊了softmax运算使输出更适合离散值的预测和训练(3.4 softmax回归)
参考:
Multi-label vs. Multi-class Classification: Sigmoid vs. Softmax
Sigmoid function
Softmax function
更多推荐
所有评论(0)