Sigmoid 函数及其导数推导

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 函数的输出,从而在训练过程中更加高效。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FunASR自动语音识别的创新平台

1. 什么是自动语音识别(ASR) 自动语音识别(ASR, Automatic Speech Recognition)是一种将语音信号转换为文本的技术。随着语音助手、智能家居、翻译系统等应用的兴起,ASR技术的重要性日益凸显。传统的ASR系统依赖于复杂…

操作系统线程属性

线程属性 int pthread_create (pthread_t* restrict thread,const pthread_attr_t* restrict attr,void* (*start_routine) (void*),void* restrict arg); ​ //创建线程函数的第二个参数即为线程属性,传空指针表示使用缺省属性。 typedef struct {// 分离状态int …

【应用开发】解决正点原子I.MX6ull应用编程zlib移植问题

问题描述 在正点原子应用开发移植zlib库的时候,文档中有这样一段描述,先删除开发板中的zlib库,然后再拷贝zlib库 这就会导致在使用scp命令拷贝编译好的zlib库的时候报错没有zlib.so.1,如下图所示: 解决方法 千万不…

《算法竞赛进阶指南》0x27A*

如果给定一个“目标状态”,需要求出从初态到目标状态的最小代价,那么优先队列BFS的“优先策略”显然不完善。一个状态的当前代价最小,只能说明从起始状态到当前状态得到代价很小,而在未来的搜索中,从该状态到目标状态可…

安卓好软-----手机端提取apk的小工具 方便简单 无需root权限

apk提取工具 工具小巧。可以提取手机上面当前安装的apk和系统应用apk。而且无需root权限即可正常使用。 效果非常不错。比其他工具提取系统app方便好使。 下载:https://download.csdn.net/download/mg668/89683199?spm1001.2014.3001.5503

探索贪心算法:解决优化问题的高效策略

贪心算法是一种在每一步选择中都采取当前最佳选择的算法,以期在整体上达到最优解。它广泛应用于各种优化问题,如最短路径、最小生成树、活动选择等。本文将介绍贪心算法的基本概念、特点、应用场景及其局限性。 贪心算法的基本概念 贪心算法的核心思想是…

详解ACL限制SSH、Telnet远程登录及抓包实验

要求&#xff1a;lsw5只能lsw6登录&#xff0c;lsw6只能PC2登录 <Huawei>sys [Huawei]sysname sw2 [sw2]int vlanif1 [sw2-Vlanif1]ip address 192.168.10.2 24 [sw2-Vlanif1]q [sw2] <Huawei>sys [Huawei]sysname sw1 [sw1]int vlanif1 [sw1-Vlanif1]ip address …

动态代理IP的适用范围与优势分析

1. 什么是动态代理IP&#xff1f; 动态代理IP是一种在每次连接时更换IP地址的代理服务。与静态代理IP不同&#xff0c;动态代理IP会在每次访问时分配一个新的IP地址&#xff0c;或在设定的时间间隔内自动更换。这种机制使得动态代理IP非常适合需要频繁更换IP的应用场景。 2. …

视频单条剪、脚本靠手写?云微客开启海量视频时代

老板们注意了&#xff0c;现在已不再是视频单条剪&#xff0c;脚本靠手写的时代&#xff01;在这个信息爆炸的时代&#xff0c;短视频已经成为了现代信息传播和娱乐消费的重要载体&#xff0c;那么我们该如何高效、快速地制作出大量高质量的短视频内容呢&#xff1f;这就需要云…

面试必备:接口自动化测试精选面试题大全

一、 请问你是如何做接口测试的&#xff1f; 大体来说&#xff0c;经历以下过程&#xff1a;接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。具体来说&#xff0c;接口测试流程分成以下九步&#xff1a; 第一步&am…

SpringBoot集成kafka开发-消息消费的分区策略(消费者如何判断从哪个分区中消费消息的?)

这里写目录标题 1、kafak消息者消费消息的4种分区策略2、kafka默认的消费分区策略1-RangeAssignor&#xff08;均匀分配、默认分配策略&#xff09;2.1、代码验证RangeAssignor的消息分区策略2.1.1、消费者2.1.2、生产者2.1.3、kafak配置类2.1.4、对象实体类2.1.5、项目配置文件…

基于vue框架的病床管理信息系统odt4v(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 开题报告内容 基于Vue框架的病床管理信息系统开题报告 一、引言 随着医疗技术的不断进步和人口老龄化的加剧&#xff0c;医院面临着日益增长的医疗服务需求。病床作为医院资源的重要组成部分&#xff0c;其管理效率直接影响到患者的就医体验和医院的运营效…

Elasticsearch(面试篇)

目录 Elasticsearch的倒排索引是什么&#xff1f; 详细描述一下Elasticsearch更新和删除文档的过程 描述一下Elasticsearch搜索的过程 兄弟们一起加油 &#xff01; &#xff01; &#xff01; Elasticsearch的倒排索引是什么&#xff1f; 传统我们索引通过文章&#xff0c…

TCP/UDP的对比,粘包分包抓包,http协议

服务器端&#xff1a; 一、loop 127.0.0.1本地回环测试地址 二、tcp特点 面向连接、可靠传输、字节流 粘包问题&#xff1a;tcp流式套接字&#xff0c;数据与数据之间没有套接字&#xff0c;导致可能多次的数据粘到一起 解决方法&#xff1a;&#xff08;1&#xff09;规…

使用USB转485转接器,从机不响应

在调试485通信时&#xff0c;bms不响应主机&#xff0c;usb转485转换器接收指示灯常亮&#xff0c;现象如下&#xff0c;通过更新驱动程序解决。 更新驱动程序链接&#xff1a; 1. 下载并解压驱动文件 https://www.szutek.com/Uploads/file/20210917/20210917091627_42822.rar…

生信圆桌:专业生信服务器与平台服务的提供者

生信圆桌是一个专注于提供生物信息学&#xff08;生信&#xff09;服务器和平台服务的领先企业&#xff0c;致力于为全球科研机构、企业和独立研究者提供高性能的生信分析解决方案。随着生物信息学研究对计算资源的需求日益增加&#xff0c;生信圆桌凭借其先进的服务器技术和专…

C++ 多线程(互斥锁、条件变量)

互斥锁 最简单示例&#xff1a; #include <iostream> #include <thread> #include <mutex>std::mutex mtx; int counter 0;void increment() {for (int i 0; i < 10000; i) {// b1 是创建出来的对象. lock_guard 类似智能指针一样,为了防止忘记释放锁…

【QT学习】1-2 Liunx环境下QT5.12.9软件安装1——VMware17.0.0虚拟机安装

注意&#xff1a;如果电脑已经安装低版本的VMware&#xff0c;千万不要卸载&#xff0c;直接覆盖安装&#xff0c;更新到新的安装版本 1.点击.exe文件&#xff0c;右键以管理员身份运行&#xff0c;点击下一步&#xff0c;下一步 2.选择软件安装位置后&#xff0c;点击下一步。…

手写Spring框架(简单实现)

Spring风格的三级缓存管理&#xff1a;一个简单实现示例 在实现一个简单的Spring风格的依赖注入容器时&#xff0c;我们通常需要处理Bean的生命周期&#xff0c;包括实例化、属性注入以及完全初始化。为了处理复杂的依赖关系和循环依赖问题&#xff0c;我们可以使用三级缓存机…

虚幻5|制作一个木桩,含血量及伤害数字

一&#xff0c;基础设置 1.创建Actor蓝图类 2.编辑胶囊体和网格体的碰撞预设 3.打开敌人的角色蓝图&#xff0c;编辑飙血特效 二&#xff0c;创建敌人血量的ui&#xff0c;命名为敌人血量&#xff0c;如下 1. 2&#xff0c;打开后&#xff0c;添加一个画布画板和进度条&#…