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

f(x)=11+ex
<script type="math/tex; mode=display" id="MathJax-Element-61">f(x) = \frac{1}{{1 + {e^{ - x}}}}</script>
其函数图像如下:
这里写图片描述

可以看出,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)(1f(x)) <script type="math/tex" id="MathJax-Element-62">f'(x) = f(x)(1 - f(x))</script>,计算非常方便,也非常节省计算时间。推导过程如下:
根据常用的求导公式,得到:

f(x)=(1)(1+ex)2(0+(1)ex)=ex(1+ex)2=ex1+ex11+ex
<script type="math/tex; mode=display" id="MathJax-Element-63">f'(x) = ( - 1){(1 + {e^{ - x}})^{ - 2}}(0 + ( - 1){e^{ - x}}) = \frac{{{e^{ - x}}}}{{{{(1 + {e^{ - x}})}^2}}} = \frac{{{e^{ - x}}}}{{1 + {e^{ - x}}}}\frac{1}{{1 + {e^{ - x}}}}</script>
而:
1f(x)=111+ex=ex1+ex
<script type="math/tex; mode=display" id="MathJax-Element-64">1 - f(x) = 1 - \frac{1}{{1 + {e^{ - x}}}} = \frac{{{e^{ - x}}}}{{1 + {e^{ - x}}}}</script>
因此, f(x)=f(x)(1f(x)) <script type="math/tex" id="MathJax-Element-65">f'(x) = f(x)(1 - f(x))</script>。

虽然sigmoid函数拥有良好的性质,可以用在分类问题上,如作为逻辑回归模型的分类器。但为什么偏偏选用这个函数呢?除了上述的数学上更易处理外,还有其本身的推导特性。
对于分类问题,尤其是二分类问题,都假定是服从伯努利分布。伯努利分布的概率质量函数PMF为:

f(x|p)=px(1p)1x
<script type="math/tex; mode=display" id="MathJax-Element-66">f(x|p) = {p^x}{(1 - p)^{1 - x}}</script>
根据《 指数分布族》的一般表达式框架:
f(x|θ)=h(x)exp{η(θ)T(x)A(θ)}
<script type="math/tex; mode=display" id="MathJax-Element-67">f(x|\theta ) = h(x)\exp \{ \eta (\theta )T(x) - A(\theta )\} </script>
将伯努利分布变形为:
f(x|p)=exp{ln(p1p)x+log(1p)}
<script type="math/tex; mode=display" id="MathJax-Element-68">f(x|p) = \exp \{ \ln (\frac{p}{{1 - p}})x + \log (1 - p)\} </script>
其中: θ=p <script type="math/tex" id="MathJax-Element-69">\theta = p</script>, h(x)=1 <script type="math/tex" id="MathJax-Element-70">h(x) = 1</script>, T(x)=x <script type="math/tex" id="MathJax-Element-71">T(x) = x</script>, η(θ)=lnp1p <script type="math/tex" id="MathJax-Element-72">\eta (\theta ) = \ln \frac{p}{{1 - p}}</script>, A(θ)=ln(1p) <script type="math/tex" id="MathJax-Element-73">A(\theta ) = - \ln (1 - p)</script>。因此,伯努利分布也属于指数分布族。

我们可以推导下 p <script type="math/tex" id="MathJax-Element-74">p</script>和η(θ)<script type="math/tex" id="MathJax-Element-75">\eta (\theta )</script>之间的关系:

η(θ)=lnp1p
<script type="math/tex; mode=display" id="MathJax-Element-76">\eta (\theta ) = \ln \frac{p}{{1 - p}}</script>则:
η(θ)=lnp1p=ln1pp=ln(1p1)
<script type="math/tex; mode=display" id="MathJax-Element-77">- \eta (\theta ) = - \ln \frac{p}{{1 - p}} = \ln \frac{{1 - p}}{p} = \ln (\frac{1}{p} - 1)</script>得到:
eη(θ)=1p1
<script type="math/tex; mode=display" id="MathJax-Element-78">{e^{ - \eta (\theta )}} = \frac{1}{p} - 1</script>
1+eη(θ)=1p
<script type="math/tex; mode=display" id="MathJax-Element-79">1 + {e^{ - \eta (\theta )}} = \frac{1}{p}</script>
p=11+eη(θ)
<script type="math/tex; mode=display" id="MathJax-Element-80">p = \frac{1}{{1 + {e^{ - \eta (\theta )}}}}</script>
这也就是sigmoid函数形式。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐