当前位置: 首页> 文旅> 旅游 > Sigmoid 函数及其导数推导

Sigmoid 函数及其导数推导

时间:2025/8/26 17:08:17来源:https://blog.csdn.net/qq_22841387/article/details/141614059 浏览次数:0次

Sigmoid 函数及其导数推导

1. 了解 Sigmoid 函数

Sigmoid 函数是神经网络中常用的激活函数,因其平滑的S形曲线和将输入压缩至 (0, 1) 的特性,在神经网络的激活函数中扮演着重要角色。其定义如下:

σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1

其中, e e e 是自然常数,约等于 2.718。Sigmoid 函数的输出范围为 (0, 1),这使它特别适合作为二分类问题中输出层的激活函数。

Sigmoid 函数的图形如下所示:

Sigmoid 函数曲线

2. 应用微分规则

为了推导 Sigmoid 函数的导数,我们需要对它进行微分。根据 Sigmoid 函数的定义:

σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1

接下来,我们将对这个函数进行微分,以计算其导数。

3. 引入中间变量 u u u

为了简化求导过程,我们可以先引入一个中间变量 u u u,定义如下:

u = 1 + e − x u = 1 + e^{-x} u=1+ex

这样,Sigmoid 函数可以重新表示为:

σ ( x ) = 1 u \sigma(x) = \frac{1}{u} σ(x)=u1

4. 对 Sigmoid 函数求导

现在,我们通过链式法则求解 Sigmoid 函数的导数。链式法则告诉我们,如果一个函数是复合函数的形式,那么其导数可以通过对各个部分分别求导并相乘来得到。

4.1 对 u = 1 + e − x u = 1 + e^{-x} u=1+ex 求导

首先对 u u u 进行求导:

d u d x = d d x ( 1 + e − x ) = 0 − e − x ⋅ ( − 1 ) = e − x \frac{du}{dx} = \frac{d}{dx}(1 + e^{-x}) = 0 - e^{-x} \cdot (-1) = e^{-x} dxdu=dxd(1+ex)=0ex(1)=ex

4.2 对 σ ( x ) = 1 u \sigma(x) = \frac{1}{u} σ(x)=u1 求导

接下来对 σ ( x ) \sigma(x) σ(x) 进行求导:

d σ ( x ) d u = d d u ( 1 u ) = − 1 u 2 \frac{d\sigma(x)}{du} = \frac{d}{du}\left(\frac{1}{u}\right) = -\frac{1}{u^2} dudσ(x)=dud(u1)=u21

4.3 应用链式法则

根据链式法则,Sigmoid 函数的导数可以表示为:

d σ ( x ) d x = d σ ( x ) d u ⋅ d u d x = − 1 u 2 ⋅ e − x \frac{d\sigma(x)}{dx} = \frac{d\sigma(x)}{du} \cdot \frac{du}{dx} = -\frac{1}{u^2} \cdot e^{-x} dxdσ(x)=dudσ(x)dxdu=u21ex

u = 1 + e − x u = 1 + e^{-x} u=1+ex 代入,得到:

d σ ( x ) d x = − e − x ( 1 + e − x ) 2 \frac{d\sigma(x)}{dx} = -\frac{e^{-x}}{(1 + e^{-x})^2} dxdσ(x)=(1+ex)2ex

5. 简化表达式

为了进一步简化这个表达式,我们注意到 Sigmoid 函数的定义和性质:

σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1

以及:

1 − σ ( x ) = e − x 1 + e − x 1 - \sigma(x) = \frac{e^{-x}}{1 + e^{-x}} 1σ(x)=1+exex

因此,导数可以重写为:

d σ ( x ) d x = σ ( x ) ⋅ ( 1 − σ ( x ) ) \frac{d\sigma(x)}{dx} = \sigma(x) \cdot (1 - \sigma(x)) dxdσ(x)=σ(x)(1σ(x))

6. 最终结果

最终我们得到了 Sigmoid 函数的导数公式:

d σ ( x ) d x = σ ( x ) ⋅ ( 1 − σ ( x ) ) \frac{d\sigma(x)}{dx} = \sigma(x) \cdot (1 - \sigma(x)) dxdσ(x)=σ(x)(1σ(x))

这个公式表明,Sigmoid 函数的导数不仅依赖于输入 x x x ,更依赖于 Sigmoid 函数本身的输出值 σ ( x ) \sigma(x) σ(x)。这个性质在反向传播算法中尤为重要,因为它允许我们在计算误差梯度时,可以直接利用前向传播的结果,从而简化计算并提高效率。

Sigmoid 函数及其导数

应用和意义

在神经网络中,Sigmoid 函数的导数用于反向传播算法中计算误差的梯度。这种函数的形式使得在更新权重时,不仅能够考虑当前的输入值,还可以利用 Sigmoid 函数的输出,从而在训练过程中更加高效。

此外,由于导数的形式与输出值直接相关,因此可以避免重复计算,在反向传播时极大地节省了计算资源。

关键字:Sigmoid 函数及其导数推导

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: