Softmax用于二分类时会退化为Sigmoid
flyfish
Softmax和Sigmoid是两种常用的激活函数,分别用于多分类和二分类任务。当将Softmax用于二分类时会退化为Sigmoid。
-
Softmax函数 :
对于一个包含 n n n个类别的分类问题,Softmax函数的定义如下: Softmax ( z i ) = e z i ∑ j = 1 n e z j \text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{n} e^{z_j}} Softmax(zi)=∑j=1nezjezi
其中, z i z_i zi 是第 i i i 类的得分, e e e 是自然常数。 -
Sigmoid函数 :
对于二分类问题,Sigmoid函数的定义如下: Sigmoid ( z ) = 1 1 + e − z \text{Sigmoid}(z) = \frac{1}{1 + e^{-z}} Sigmoid(z)=1+e−z1 -
二分类的Softmax函数 :
在二分类问题中,假设有两个类别 C 1 C_1 C1 和 C 2 C_2 C2,对应的得分分别为 z 1 z_1 z1 和 z 2 z_2 z2。那么Softmax函数可以表示为: Softmax ( z 1 ) = e z 1 e z 1 + e z 2 \text{Softmax}(z_1) = \frac{e^{z_1}}{e^{z_1} + e^{z_2}} Softmax(z1)=ez1+ez2ez1
Softmax ( z 2 ) = e z 2 e z 1 + e z 2 \text{Softmax}(z_2) = \frac{e^{z_2}}{e^{z_1} + e^{z_2}} Softmax(z2)=ez1+ez2ez2
- Softmax退化成Sigmoid的过程 :
为了将Softmax退化成Sigmoid,可以将其中一个得分 z 2 z_2 z2 固定为0,并将 z 1 z_1 z1 记为 z z z 。这种方法实际上是通过设置相对得分来简化计算过程。在这种情况下,Softmax函数变为: Softmax ( z ) = e z e z + e 0 = e z e z + 1 \text{Softmax}(z) = \frac{e^{z}}{e^{z} + e^{0}} = \frac{e^{z}}{e^{z} + 1} Softmax(z)=ez+e0ez=ez+1ez
这与Sigmoid函数的定义是完全相同的:
Sigmoid
(
z
)
=
1
1
+
e
−
z
=
e
z
e
z
+
1
\text{Sigmoid}(z) = \frac{1}{1 + e^{-z}} = \frac{e^{z}}{e^{z} + 1}
Sigmoid(z)=1+e−z1=ez+1ez
这里,Sigmoid函数可以看作是一个简化版的Softmax函数,适用于二分类问题。
通过这个过程,可以看到当Softmax函数应用于二分类问题时,它会简化为Sigmoid函数。这是因为在二分类情况下,Softmax的输出只依赖于一个得分(相对得分),这与Sigmoid的计算方式一致。Softmax和Sigmoid的输出在数学上是等价的。