Sigmoid函数

Sigmoid函数是一个有着优美S形曲线的数学函数,在逻辑回归、人工神经网络中有着广泛的应用。Sigmoid函数的数学形式是: 

f(x)=11+ex
其函数图像如下: 
Sigmoid函数

可以看出,sigmoid函数连续,光滑,严格单调,以(0,0.5)中心对称,是一个非常良好的阈值函数。

当x趋近负无穷时,y趋近于0;趋近于正无穷时,y趋近于1;x=0时,y=0.5。当然,在x超出[-6,6]的范围后,函数值基本上没有变化,值非常接近,在应用中一般不考虑。

Sigmoid函数的值域范围限制在(0,1)之间,我们知道[0,1]与概率值的范围是相对应的,这样sigmoid函数就能与一个概率分布联系起来了。

Sigmoid函数的导数是其本身的函数,即f′(x)=f(x)(1−f(x)),计算非常方便,也非常节省计算时间。推导过程如下: 
根据常用的求导公式,得到: 

f(x)=(1)(1+ex)2(0+(1)ex)=ex(1+ex)2=ex1+ex11+ex
而: 
1f(x)=111+ex=ex1+ex
因此,f(x)=f(x)(1f(x))f′(x)=f(x)(1−f(x))

虽然sigmoid函数拥有良好的性质,可以用在分类问题上,如作为逻辑回归模型的分类器。但为什么偏偏选用这个函数呢?除了上述的数学上更易处理外,还有其本身的推导特性。 

对于分类问题,尤其是二分类问题,都假定是服从伯努利分布。伯努利分布的概率质量函数PMF为: 

f(x|p)=px(1p)1x
根据《指数分布族》的一般表达式框架: 
f(x|θ)=h(x)exp{η(θ)T(x)A(θ)}
将伯努利分布变形为: 
f(x|p)=exp{ln(p1p)x+log(1p)}
其中:θ=pθ=ph(x)=1h(x)=1T(x)=xT(x)=xη(θ)=lnp1pη(θ)=ln⁡p1−pA(θ)=ln(1p)A(θ)=−ln⁡(1−p)。因此,伯努利分布也属于指数分布族。

我们可以推导下pη(θ)之间的关系: 

η(θ)=lnp1p
则: 
η(θ)=lnp1p=ln1pp=ln(1p1)
得到: 
eη(θ)=1p1
1+eη(θ)=1p
p=11+eη(θ)
这也就是sigmoid函数形式。