Sigmoid 函数,也称为逻辑函数(Logistic function),是一种在统计学和神经网络中广泛使用的函数。它起源于19世纪对人口增长的研究,特别是由比利时数学家 Pierre François Verhulst 提出的逻辑斯谛增长模型(Logistic growth model)。以下是 Sigmoid 函数的推导过程:
1. 逻辑斯谛增长模型
逻辑斯谛增长模型是对种群增长的一种描述,它考虑了环境承载力(即环境能够支持的最大种群数量)。基本的逻辑斯谛增长方程是:
����=��(1−��)dtdP=rP(1−KP)
其中:
- �P 是种群数量,
- �t 是时间,
- �r 是内禀增长率,
- �K 是环境承载力。
2. 分离变量
为了求解这个微分方程,我们可以进行变量分离:
���(1−��)=� ��P(1−KP)dP=rdt
3. 积分
对两边进行积分,我们得到:
∫1�(1−��) ��=∫� ��∫P(1−KP)1dP=∫rdt
为了积分左边,我们可以使用部分分式分解:
1�(1−��)=��+�1−��P(1−KP)1=PA+1−KPB
通过求解 �A 和 �B,我们可以得到:
1�(1−��)=1�+1�−�P(1−KP)1=P1+K−P1
现在,我们可以对两边进行积分:
∫(1�+1�−�)��=∫� ��∫(P1+K−P1)dP=∫rdt
这将导致:
ln∣�∣−ln∣�−�∣=��+�ln∣P∣−ln∣K−P∣=rt+C
其中 �C 是积分常数。
4. 重写方程
我们可以将上面的方程重写为:
ln(��−�)=��+�ln(K−PP)=rt+C
进一步得到:
��−�=���+�K−PP=ert+C
令 ��=�′eC=C′,我们得到:
��−�=�′���K−PP=C′ert
5. 求解 �P
通过解这个方程,我们可以得到 �P 关于 �t 的表达式:
�=�1+(��′)�−��P=1+(C′K)e−rtK
如果我们将 �′C′ 设置为 ��0−1P0K−1,其中 �0P0 是初始种群数量,我们最终得到:
�(�)=�1+(�−�0�0)�−��P(t)=1+(P0K−P0)e−rtK
这个方程的形式就是 Sigmoid 函数。在神经网络中,通常我们使用 �=1K=1 并省略 �K 的符号,从而得到更常见的 Sigmoid 形式:
�(�)=11+�−�S(x)=1+e−x1
其中 �x 是神经元的净输入。这个函数在神经网络中用于模拟神经元是否被激活,因为它的输出范围在 0 到 1 之间,非常适合于二分类问题。