Sigmoid函数

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+ex1=ex+1ex

函数图像:

Sigmoid函数

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+ex1=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)exex=(1+ex)2ex=f(x)(1f(x))
    Simoid函数的导数是偶函数 f ′ ( x ) = f ′ ( − x ) f'(x)=f'(-x) f(x)=f(x)

  • 由于Sigmoid函数存在梯度消失(Gradient Vanishing)和不以0对称的问题,所以基本很少用了。替代者是Tanh 和 Relu,以Relu最常用