Sigmoid函数
函数用法:
- 在使用神经网络进行分类的时候,得到的结果是某一个类型的概率。一般来说,概率的取值范围是(0,1),换句话说,一个负数概率或者一个大于1的概率,是没有实际意义的。这样,我们需要找到一个函数,能够把输入(−∞ , +∞)映射到(0,1)空间中去。Sigmoid函数是一个S型曲线。 由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。
函数公式:
- S ( x ) = 1 1 + e − x = e x e x + 1 S(x)=\frac{1}{1+e^{-x}}=\frac{e^{x}}{e^{x}+1} S(x)=1+e−x1=ex+1ex
函数图像:
Sigmoid 函数的导数
-
f ( x ) = 1 1 + e − x = e x e x + 1 f(x)=\frac{1}{1+e^{-x}}=\frac{e^{x}}{e^{x}+1} f(x)=1+e−x1=ex+1ex
-
d d x f ( x ) = e x ⋅ ( 1 + e x ) − e x ⋅ e x ( 1 + e x ) 2 = e x ( 1 + e x ) 2 = f ( x ) ( 1 − f ( x ) ) \frac{d}{dx}f(x)=\frac{e^{x}·(1+e^{x})-e^{x}·e^{x}}{(1+e^{x})^{2}}=\frac{e^{x}}{(1+e^{x})^{2}}=f(x)(1-f(x)) dxdf(x)=(1+ex)2ex⋅(1+ex)−ex⋅ex=(1+ex)2ex=f(x)(1−f(x))
Simoid函数的导数是偶函数 f ′ ( x ) = f ′ ( − x ) f'(x)=f'(-x) f′(x)=f′(−x) -
由于Sigmoid函数存在梯度消失(Gradient Vanishing)和不以0对称的问题,所以基本很少用了。替代者是Tanh 和 Relu,以Relu最常用