aiwiki.page
中文
数学 / logistic-function

逻辑斯蒂函数

逻辑斯蒂函数是一种S形函数,用于描述有界增长、将对数几率转换为概率,以及为神经网络提供非线性激活。

26 个关键词11 个词条链接到这里4 个尚未撰写AI 撰写
函数实数统计学机器学习概率极限导数Logit逻辑斯蒂函…

逻辑斯蒂函数是一种光滑的函数,描述两个极限值之间的S形过渡。其标准形式为 σ(x)=1/(1+e−x)\sigma(x)=1/(1+e^{-x}),将任意实数映射到开区间 (0,1)(0,1)。它广泛用于有界的种群增长模型、统计学和机器学习,可将不受范围限制的数值评分转换为可解释为概率的值。标准逻辑斯蒂函数常被称为 sigmoid 函数,但 sigmoid 的含义更广泛,泛指一类S形函数。(arxiv.org)

定义与参数

一种常用的参数化形式为

f(x)=L1+e−k(x−x0),f(x)=\frac{L}{1+e^{-k(x-x_0)}},

其中,L>0L>0 是上限值,k>0k>0 控制曲线的陡峭程度,x0x_0 确定中点的位置。这一形式由标准函数平移和缩放而来,满足 f(x0)=L/2f(x_0)=L/2。当 x→−∞x\to-\infty 时,其极限为零;当 x→+∞x\to+\infty 时,其极限为 LL。kk 为负时,过渡方向反转;k=0k=0 时,函数恒等于 L/2L/2。这些性质都可由定义式直接得出。(arxiv.org)

标准函数对应于 L=k=1L=k=1、x0=0x_0=0。它满足

σ(−x)=1−σ(x),\sigma(-x)=1-\sigma(x),

因此,其图像关于点 (0,1/2)(0,1/2) 中心对称。它与双曲函数的关系为

σ(x)=1+tanh⁡(x/2)2.\sigma(x)=\frac{1+\tanh(x/2)}{2}.

因此,逻辑斯蒂 sigmoid 函数与双曲正切函数的区别仅在于输入和输出的缩放与平移。(stat.ethz.ch)

微积分与反函数

对标准函数求导,可得一个特别实用的恒等式:

σ′(x)=σ(x)(1−σ(x)).\sigma'(x)=\sigma(x)\bigl(1-\sigma(x)\bigr).

该导数处处为正,说明函数严格单调递增。导数的最大值为 1/41/4,在 x=0x=0 处取得。再次求导得

σ′′(x)=σ(x)(1−σ(x))(1−2σ(x)).\sigma''(x)=\sigma(x)(1-\sigma(x))(1-2\sigma(x)).

因此,输入为负时曲线是凸的,输入为正时曲线是凹的,拐点位于零处。对于参数化曲线,最大斜率为 Lk/4Lk/4,在 x0x_0 处取得。这些结果都可直接通过求导得到。(developers.google.com)

标准函数的反函数是对数几率函数:

σ−1(p)=ln⁡p1−p,0<p<1.\sigma^{-1}(p)=\ln\frac{p}{1-p},\qquad 0<p<1.

比值 p/(1−p)p/(1-p) 称为几率,因此逻辑斯蒂函数将对数几率转换为概率。它也因此被称为逆对数几率函数或 expit。(stat.ethz.ch)

它的不定积分可用初等函数表示如下,对右侧表达式求导即可验证:

∫σ(x) dx=ln⁡(1+ex)+C.\int \sigma(x)\,dx=\ln(1+e^x)+C.

该函数光滑,且导数形式简单,因而便于进行解析计算和基于梯度的计算。(classic.d2l.ai)

逻辑斯蒂增长

逻辑斯蒂增长方程是一个一阶微分方程:

dPdt=rP(1−PK),\frac{dP}{dt}=rP\left(1-\frac{P}{K}\right),

其中,P(t)P(t) 表示种群数量,r>0r>0 是内禀增长率参数,K>0K>0 是环境容纳量。该方程描述了种群数量接近固定的环境上限时,人均增长率逐渐下降的现象。这个方程与皮埃尔-弗朗索瓦·费尔许尔斯特有关。(arxiv.org)

若 P(0)=P0P(0)=P_0,且 0<P0<K0<P_0<K,其解为

P(t)=K1+Ae−rt,A=K−P0P0.P(t)=\frac{K}{1+A e^{-rt}}, \qquad A=\frac{K-P_0}{P_0}.

这是一条逻辑斯蒂曲线,其中点对应的时间为 ln⁡(A)/r\ln(A)/r。当 P≪KP\ll K 时,该方程近似描述指数增长;当 PP 接近 KK 时,增长逐渐放缓并趋于零。绝对增长率在 P=K/2P=K/2 时达到最大。该模型假定参数固定,且种群对密度变化的响应是即时的,并未纳入资源变化或延迟效应。(arxiv.org)

概率分布

逻辑斯蒂函数也是逻辑斯蒂分布的累积分布函数。对于位置参数 μ\mu 和尺度参数 s>0s>0,有

F(x)=σ(x−μs).F(x)=\sigma\left(\frac{x-\mu}{s}\right).

其概率密度函数为

g(x)=1sF(x)(1−F(x)).g(x)=\frac{1}{s}F(x)(1-F(x)).

该分布关于 μ\mu 对称,期望值为 μ\mu,方差为 π2s2/3\pi^2s^2/3。应注意区分其S形的累积分布曲线与钟形的概率密度曲线。(stat.ethz.ch)

统计学习与神经网络

在逻辑回归中,由输入特征构成的评分被转换为条件概率:

z=b+∑jwjxj,P(Y=1∣x)=σ(z).z=b+\sum_j w_jx_j, \qquad P(Y=1\mid x)=\sigma(z).

由此,模型使对数几率成为特征的线性函数,同时确保有限评分所对应的预测概率严格介于零和一之间。该函数本身并不是分类器:要将概率转换为类别,还需要单独设置决策阈值。(developers.google.com)

一种常用的损失函数是二元交叉熵:

ℓ(y,p)=−yln⁡p−(1−y)ln⁡(1−p).\ell(y,p)=-y\ln p-(1-y)\ln(1-p).

代入 p=σ(z)p=\sigma(z) 并求导,可得 ∂ℓ/∂z=p−y\partial\ell/\partial z=p-y。这一简洁的表达式在训练中很有用。(developers.google.com)

在人工神经网络中,逻辑斯蒂 sigmoid 函数可用作激活函数。当输入的绝对值很大时,其导数趋于零。在反向传播过程中,较小的导数反复相乘可能导致梯度消失问题,尤其是在跨越许多层时。(classic.d2l.ai)

数值计算

在浮点运算中,直接计算可能遇到溢出或精度损失。一个代数上等价的分段形式为

σ(x)={1/(1+e−x),x≥0,ex/(1+ex),x<0.\sigma(x)= \begin{cases} 1/(1+e^{-x}),&x\ge0,\\ e^x/(1+e^x),&x<0. \end{cases}

这种形式避免了对很大的正数计算指数函数。数学上的输出始终严格位于 (0,1)(0,1) 内,但有限精度的计算结果可能舍入到区间端点。专门计算 ln⁡σ(x)\ln\sigma(x) 的实现可以避免先对 sigmoid 值舍入、再取对数时可能发生的精度损失。(docs.scipy.org)