【激活函数--中】激活函数和阶跃函数的可视化及对比

文章目录

  • 一、Python中绘制阶跃函数的图形
  • 二、实现和可视化Sigmoid函数
    • 2.1 Python实现
    • 2.2 可视化Sigmoid函数
  • 三、比较Sigmoid函数与阶跃函数
    • 3.1 Sigmoid函数与阶跃函数的差异
    • 3.2 Sigmoid函数与阶跃函数的共同点

一、Python中绘制阶跃函数的图形

在Python中实现阶跃函数的代码如下:

import numpy as npdef step_function(x):return np.array(x > 0, dtype=np.int)

这个函数接受一个NumPy数组x,并返回一个整数数组,其中大于0的元素被置为1,其余为0。

为了可视化阶跃函数,我们使用matplotlib库绘制其图形。首先,我们生成一个从-5.0到5.0的数组x,然后应用step_function函数计算对应的y值,并使用matplotlib.pyplot进行绘图:

import matplotlib.pylab as pltx = np.arange(-5.0, 5.0, 0.1)  # 生成从-5到5的值,步长为0.1
y = step_function(x)            # 应用阶跃函数
plt.plot(x, y)                  # 绘制x和y
plt.ylim(-0.1, 1.1)             # 设置y轴的范围
plt.show()

绘制的结果如图所示,可以清晰地看到阶跃函数的特征:当输入小于或等于0时,输出为0;当输入大于0时,输出为1。这种从0到1的突变正是阶跃函数的核心特性,也是其名称的由来。

在这里插入图片描述

二、实现和可视化Sigmoid函数

2.1 Python实现

在Python中,可以通过使用NumPy库中的exp函数来实现Sigmoid函数,如下所示:

import numpy as npdef sigmoid(x):return 1 / (1 + np.exp(-x))

此实现利用了NumPy的广播功能,使得函数能够接受单个数值、列表或NumPy数组作为输入,并对每个元素执行Sigmoid运算。

Sigmoid函数的输出始终在0和1之间,这对于模拟概率非常有用。当输入接近正无穷时,输出趋近于1;当输入接近负无穷时,输出趋近于0;当输入为0时,输出为0.5。

2.2 可视化Sigmoid函数

为了更好地理解Sigmoid函数的行为,我们可以使用matplotlib库来绘制其图形。以下是绘制Sigmoid函数的Python代码:

import matplotlib.pyplot as plt
import numpy as np# 定义Sigmoid函数
def sigmoid(x):return 1 / (1 + np.exp(-x))# 生成数据
x = np.arange(-5.0, 5.0, 0.1)
y = sigmoid(x)# 绘图
plt.plot(x, y)
plt.title("Sigmoid Function")
plt.ylim(-0.1, 1.1)  # 设置y轴范围
plt.show()

执行上述代码后,将得到如下图所示的Sigmoid函数图形:

在这里插入图片描述

Sigmoid函数由于其平滑的梯度和输出范围限制在(0,1)之间的特性,曾广泛用于神经网络的输出层,尤其是在二分类问题中。然而,由于它在输入值很大或很小时导致的梯度消失问题,现在在隐藏层中较少使用,被ReLU等函数所取代。但是,了解Sigmoid函数仍然对于理解神经网络的历史和基本理论非常重要。

三、比较Sigmoid函数与阶跃函数

Sigmoid函数和阶跃函数都作为神经网络中的激活函数,但它们各有不同的属性和对模型行为的影响。通过检查它们的图形表示并讨论它们的含义,我们来探讨它们之间的差异和相似之处。

3.1 Sigmoid函数与阶跃函数的差异

  1. 平滑性和连续性

    • Sigmoid函数:它是平滑且连续的,从0渐变到1。这种平滑性允许进行导数计算,这对于在训练神经网络时使用的反向传播算法至关重要。
    • 阶跃函数:在阈值(x=0)处从0跳跃到1。这种突然的变化意味着它在传统意义上缺乏导数,这可能会使基于梯度的学习方法复杂化。

    Sigmoid函数的平滑性对于基于梯度的优化方法特别重要,因为它在每个点上都提供了梯度,这有助于有效的网络训练。

  2. 输出范围

    • Sigmoid函数:输出值在0到1之间,这使得它非常适合用作概率表示。它可以返回介于0和1之间的任何值,如0.731、0.880等。
    • 阶跃函数:只能输出0或1,这限制了它的输出能表示的信息量。

3.2 Sigmoid函数与阶跃函数的共同点

尽管在平滑性上存在差异,从宏观视角看,Sigmoid函数和阶跃函数具有相似的形状。实际上,它们的结构都是“输入小时,输出接近0(或为0);随着输入增大,输出向1靠近(或变成1)”。这意味着:

  • 当输入信号是重要信息时,阶跃函数和Sigmoid函数都会输出较大的值。
  • 当输入信号不重要时,两者都输出较小的值。
  • 无论输入信号多小或多大,输出信号的值都限制在0到1之间。

在这里插入图片描述

阶跃函数和Sigmoid函数虽然处理信息的方式有所不同,但它们都是为了在神经网络中实现输入到输出的有效映射。Sigmoid函数因其平滑性和连续的输出范围而广泛用于早期的神经网络模型中,尤其是在需要概率输出的应用中。然而,由于梯度消失的问题,现代更多使用ReLU等其他激活函数来代替Sigmoid函数。阶跃函数因其简单和直观,常被用于理论演示和二元分类的最终决策阶段。


在这里插入图片描述

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

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

相关文章

ZFS 文件系统结构及 ZFS 文件系统数据恢复

ZFS是一种革命性的文件系统,它遵循完全不同的文件系统管理方法,同时提供目前其他文件系统无法提供的新功能和优势。ZFS 可靠、可扩展且易于管理。 它放弃了卷的概念,从而摆脱了传统的文件系统原则。另外,ZFS 提供更复杂的存储池&…

公检法部门涉密网文件导出,哪种方案最安全适合?

公检法是我国政法机关的重要组成部分,由于公检法涉及重要案件信息和个人隐私数据,因此,在内部多采用网络隔离技术将网络隔离为两个及以上网络区域,如涉密网、办公网、外联区等。 公检法涉密网是指公安机关、检察机关和法院等执法机…

Git操作GitHub全记录

目录 一. GitHub ssh-key配置二. 添加GitHub仓库Git提交本地代码到Github仓库远程克隆仓库到本地的文件夹再上传本地的无.git的文件夹上传到远程仓库 三. Git删除Github仓库或某个文件或文件夹1.删除已有Github仓库2.删除Github中的某个文件或文件夹①如果没有建立本地库或者克…

第12节 第二种shellcode编写实战(1)

我最近在做一个关于shellcode入门和开发的专题课👩🏻‍💻,主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料,内容里面的每一个环境我都亲自测试实操过的记录,有需要的小伙伴可以参考…

AI技术构建本地知识库的流程

构建本地知识库是一个复杂的过程,涉及以下几个步骤,使用大模型技术构建本地知识库是一种很有前途的方法。随着大模型技术的不断发展,我们可以期待本地知识库将变得更加智能、高效和准确。北京木奇移动技术有限公司,专业的软件外包…

设计模式1——初步认识篇

设计模式1——初步认识篇 一、先让我们浅聊一下面向对象和设计模式。 说起设计模式,我第一次听到它,是在学习面向对象的时候。那么什么是面向对象,什么是设计模式,而且设计模式和面向对象又有什么关系呢? 1、什么是面…

你不知道的ConstraintLayout高级用法

文章目录 1. ConstraintLayout介绍2. 高级用法2.1 Gone Margin2.2 偏移2.3 居中2.4 尺寸约束2.5 链2.6 角度定位(圆形定位) 3. 工具类3.1 Guideline(参考线)3.2 Barrier(栅栏)3.3 Group(组&…

信息与未来2017真题笔记

T1. 龟兔赛跑 题目描述 兔子又来找乌龟赛跑啦!同样的错误兔子不会犯两次,所以兔子提出赛跑的时候,乌龟就觉得这场比赛很不公平。于是兔子进一步放宽了条件,表示他可以在比赛开始以后先睡 t t t 分钟再开始追乌龟。 乌龟这下没…

YOLOv5改进 | 注意力机制 | 用于移动端的高效坐标CA注意力机制

在深度学习目标检测领域,YOLOv5成为了备受关注的模型之一。本文给大家带来的是能用于移动端的高效坐标CA注意力机制。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方便…

答辩PPT不会做?试试这些AI工具,一键生成

在我原本的认知里面,答辩PPT是要包含论文各个章节的,在答辩时需要方方面面都讲到的,什么摘要、文献综述、实证分析、研究结果样样不落。但是,这大错特错! 答辩PPT环节时长一般不超过5分钟,老师想要的答辩P…

PMP证书如何备考?

每个过了PMP考试的考生:“你是如何学习和准备的”?答案基本分三类: 第一种是“临时抱佛脚”式;第二种是“持续抗战式”;第三种是“疲劳作战式”。 第一种比较符合人性和期望—20世纪三大管理定义之一的帕金斯定律&am…

ctfshow web入门 php反序列化 web267--web270

web267 查看源代码发现这三个页面 然后发现登录页面直接admin/admin登录成功 然后看到了 ///backdoor/shell unserialize(base64_decode($_GET[code]))EXP <?php namespace yii\rest{class IndexAction{public $checkAccess;public $id;public function __construct(){…

【Java处理word文档】

Java处理word文档 前言一、word是什么&#xff1f;二、Java处理word2.1、依赖包2.2、加载word样式2.3、读入文件2.4、单一样式段落2.5、复合样式段落2.6、将段落写入word2.7、word表格2.8、超链接2.9、写入样式及文件保存 总结示例源码样式xmlWordConstantWordStylesUtilWordUt…

Windows Server 2012 R2 新增D盘分区

我们经常搭建windows版本的游戏时会要在D盘上操作&#xff0c;今天就介绍下新的服务器如何新增一个D盘。 在"开始"图标右边有个”服务器管理器“&#xff0c;单击点开 点开服务器管理器后&#xff0c;点击“工具”打开“计算机管理” 打开计算机管理后点击“存储”-…

QT切换控件布局

1、切换前垂直布局 2、切换后水平布局 3、关键代码 qDebug() << "开始切换布局";QWidget *widget centralWidget();QLayout *layout widget->layout();if(layout){while(layout->count()){QLayoutItem *item layout->takeAt(0);if(item->layout…

【DDR 终端稳压器】Sink and Source DDR Termination Regulator [C] S0 S1 S2 S3 S4 S5 6状态

TPS51200A-Q1 器件通过 EN 功能提供 S3 支持。EN引脚可以连接到终端应用中的SLP_S3信号。当EN 高电平&#xff08;S0 状态&#xff09;时&#xff0c;REFOUT 和 VO 引脚均导通。当EN 低电平&#xff08;S3状态&#xff09;时&#xff0c;VO引脚关断并通过内部放电MOSFET放电时…

决策树的学习(Decision Tree)

1.对于决策树的概念&#xff1a; **本质上&#xff1a;**决策树就是模拟树的结构基于 if-else的多层判断 2.目的&#xff1a; 对实例进行分类的树形结构&#xff0c;通过多层判断&#xff0c;将所提供的数据归纳为一种分类规则。 3.优点&#xff1a; 1.计算量小&#xff0c;…

源代码防泄密的重要性

​源代码”作为互联网企业的核心资产之一&#xff0c;其安全性至关重要。源代码泄露不仅可能导致企业丧失技术优势&#xff0c;还可能引发知识产权纠纷、增加竞争对手的市场竞争力&#xff0c;甚至可能被用于恶意目的&#xff0c;如开发恶意软件等。因此&#xff0c;保护源代码…

婉转之声舞台之梦

【婉转之声&#xff0c;舞台之梦】&#x1f3a4; 当旋律响起&#xff0c;每个音符承载着梦想与热情。#婉拒歌手# #歌手2024# 话题引爆网络&#xff0c;观众的期待值冲破天际&#xff0c;但谁才是那婉拒名单上的神秘巨星&#xff1f;[嘻嘻] 今夜&#xff0c;我们不谈已成的荣耀&…