机器学习 | 深入理解激活函数

什么是激活函数?

在人工神经网络中,节点的激活函数定义了该节点或神经元对于给定输入或一组输入的输出。然后,将此输出用作下一个节点的输入,依此类推,直到找到原始问题的所需解决方案。

它将结果值映射到所需的范围,例如0到1或-1到1等。这取决于激活函数的选择。例如,使用逻辑激活函数将把真实的数域中的所有输入映射到0到1的范围内。

二分类问题的例子

在二分类问题中,我们有一个输入x,比如一张图像,我们必须将其分类为是否正确的对象。如果它是一个正确的对象,我们将给它赋值1,否则赋值0。因此,在这里,我们只有两个输出-图像包含有效对象或不包含。这是一个二分类问题的例子。

在这里插入图片描述

当我们将每个特征乘以权重(w1,w2,…,wm)并将它们全部相加时,
节点的输出=激活(输入的加权和)。

在这里插入图片描述

一些重要的术语和数学概念

  • 传播是一个过程,反复调整权重,以最大限度地减少实际输出和期望输出之间的差异。

  • 隐藏层是堆叠在输入和输出之间的神经元节点,允许神经网络学习更复杂的特征(如XOR逻辑)。

  • 反向传播是一个过程,反复调整权重,以最大限度地减少实际输出和期望输出之间的差异。
    它允许信息通过网络从成本向后返回,以计算梯度。因此,从最后一个节点开始按反向拓扑顺序循环节点,以计算最终节点输出的导数。这样做将帮助我们知道谁对最大的错误负责,并在该方向上适当地改变参数。

  • 梯度下降在训练机器学习模型时使用。它是一种基于凸函数的优化算法,可以迭代地调整其参数,以最小化给定函数的局部最小值。梯度测量了如果你稍微改变输入,函数的输出会改变多少。
    注意:如果梯度下降正常工作,则成本函数在每次迭代后都应该减少。

激活函数的类型

激活函数基本上有两种类型:

1.线性激活函数

Equation : f(x) = x

Range : (-infinity to infinity)

在这里插入图片描述

2.非线性激活函数
这使得模型很容易对各种数据进行泛化,并区分输出。通过仿真,发现对于较大的网络,ReLU要快得多。事实证明,ReLU可以更快地训练大型网络。非线性意味着输出不能从输入的线性组合中再现。
需要理解的非线性函数的主要术语是:
1.导数:y轴相对于x轴的变化(t时间内)。它也被称为斜坡。
2.单调函数:一个完全递增或递减的函数。

在这里插入图片描述
非线性激活函数主要根据其范围或曲线划分如下:

在这里插入图片描述
让我们更深入地了解每个激活函数

1. Sigmoid:

它也被称为二分类器或Logistic激活函数,因为函数总是选择值0(假)或1(真)。
sigmoid函数产生与step函数类似的结果,输出在0和1之间。曲线在z=0处穿过0.5,我们可以为激活函数设置规则,例如:如果sigmoid神经元的输出大于或等于0.5,则输出1; 如果输出小于0.5,则输出0。
sigmoid函数在其曲线上没有加加速度。它是光滑的,它有一个非常好的和简单的导数,它在曲线上的任何地方都是可微的。

Sigmoid的推导:

在这里插入图片描述
sigmoid的一个非常常见的性质是,当神经元的激活在0或1处饱和时,这些区域的梯度几乎为零。回想一下,在反向传播过程中,这个局部梯度将乘以整个目标的这个门的输出梯度。因此,如果局部梯度非常小,它将有效地“杀死”梯度,几乎没有信号将通过神经元流向其权重并递归地流向其数据。此外,额外的惩罚将被添加到初始化S形神经元的权重以防止饱和。例如,如果初始权重太大,那么大多数神经元将变得饱和,网络将几乎无法学习。

2. ReLU(Rectified Linear Unit):

它是使用最广泛的激活函数。因为它被用于几乎所有的卷积神经网络。函数及其导数都是单调的。

f(x) = max(0, x)

接近线性的模型易于优化。由于ReLU共享了线性函数的许多属性,因此它在大多数问题上都能很好地工作。唯一的问题是导数在z = 0时没有定义,我们可以通过在z = 0时将导数赋值为0来克服这个问题。然而,这意味着对于z <= 0,梯度为零,并且再次无法学习。

3. Leaky ReLU:

Leaky ReLU是ReLU函数的改进版本。ReLU函数,对于x<0,梯度为0,这使得该区域的神经元因激活而死亡。Leaky ReLU的定义就是为了解决这个问题。我们将Relu函数定义为x的一个小的线性分量,而不是将x小于0的Relu函数定义为0。
Leaky ReLU是解决垂死ReLU问题的一种尝试。当x < 0时,函数不是零,而是一个泄漏的ReLU将具有一个小的负斜率(0.01左右)。也就是说,该函数计算:

在这里插入图片描述

4. Tanh或双曲正切:

它将一个实数压缩到范围[-1,1]与Sigmoid一样,它的激活饱和,但与Sigmoid神经元不同,它的输出是以零为中心的。因此,双曲正切非线性总是优于S形非线性。tanh神经元只是一个缩放的sigmoid神经元。
Tanh也像logistic sigmoid,但更好。其优点是负输入将被映射到强负,零输入将被映射到双曲正切图中的近零。
函数是单调可微的,但它的导数不是单调的。tanh和logistic Sigmoid激活函数都用于前馈网络。
它实际上只是sigmoid函数的缩放版本。

 tanh(x)=2 sigmoid(2x)-1 

在这里插入图片描述

5. SoftMax:

sigmoid函数可以很容易地应用,并且ReLU不会在训练过程中消除效果。但是,当你想处理分类问题时,它们就帮不上什么忙了。sigmoid函数只能处理两个类,这不是我们所期望的,但我们想要更多。softmax函数将每个单元的输出压缩到0和1之间,就像sigmoid函数一样。并且它还划分每个输出,使得输出的总和等于1。
softmax函数的输出相当于一个分类概率分布,它告诉你任何类为真的概率。

在这里插入图片描述

其中0是输出层的输入向量(如果你有10个输出单元,那么z中有10个元素)。同样,j索引输出单元,所以j = 1,2,…,K。

Softmax函数的性质

1.计算的概率将在0到1的范围内。
2.所有概率之和等于1。

Softmax函数用法
1.用于多分类logistic回归模型。
2.在构建神经网络时,softmax函数用于不同层次和多层感知器。

例如:
在这里插入图片描述

Softmax函数将logits [1.2,0.9,0.4]转换为概率[0.46,0.34,0.20],概率之和为1。

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

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

相关文章

【功能】DOTween动画插件使用

一、下载安装DOTween插件&#xff0c;下载地址&#xff1a;DOTween - Asset Store (unity.com) 使用 Free免费版本即可&#xff0c;导入成功后&#xff0c;Project视图中会出现 DOTween 文件夹 二、使用案例 需求1&#xff1a;控制材质球中的某个属性值&#xff0c;实现美术需…

SQL执行流程、SQL执行计划、SQL优化

select查询语句 select查询语句中join连接是如何工作的&#xff1f; 1、INNER JOIN 返回两个表中的匹配行。 2、LEFT JOIN 返回左表中的所有记录以及右表中的匹配记录。 3、RIGHT JOIN 返回右表中的所有记录以及左表中的匹配记录。 4、FULL OUTER JOIN 返回左侧或右侧表中有匹…

腾讯云发送短信验证码

1、在腾讯云平台中 开通短信服务 2、发送短信 2.1引用jar包 <dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java-sms</artifactId><version>3.1.1043</version> </dependency>2.2 发送短…

二维码如何用来存储图片?扫码看图有哪些好处

现在通过二维码来分享图片是一种很常见的方法&#xff0c;二维码可以承载大量的图片内容&#xff0c;从而节省对图片空间容量的占用&#xff0c;并且将图片放入二维码中便于分享让图片传递变得更加方便快捷&#xff0c;那么图片生成二维码具体该怎么操作呢&#xff1f;通过下面…

MySQL----初始数据类型

前言 一、tinyint 范围&#xff1a;-128-----127 在MySQL中&#xff0c;整型可以指定是有符号的和无符号的&#xff0c;默认是有符号的。可以通过UNSIGNED来说明某个字段是无符号的。如果我们向mysqlt特定的类型中插入不合法的数据&#xff0c;Mysq一般会直接拦截&#xff0c…

云计算实训06——find、stat、touch、tree、scp、crontab指令相关应用

一、find命令 1.find的作用&#xff1a;对文件进行搜索 2. 基本语法&#xff1a; find [文件路径] [选项 选项的值 ] 3.常见的选项 -name 根据文件的名称搜索文件&#xff0c;支持通配符 * -type f 代表普通文件&#xff0c;-type d 代表目录 4.* 通配符 在 linux 系统…

多多OJ评测系统 前端页面通用布局开发与优化 调整布局

目录 我们重新布局样式 个人习惯写一个最外层的样式 Header Content Footer 布局出来了 加上标签和容器 绑定样式 我们设置一些样式 页面展示效果 我们加入导航栏 搜索组件 我们这边把导航菜单抽象成一个公共的组件 引入好 页面中成功进行了展示 我们可以把这边替…

项目管理_XX市XX区人民医院HRP信息系统建设项目(成本管理)实例

项目管理_XX市XX区人民医院HRP信息系统建设项目(成本管理)实例 本文将通过 XX市XX区人民医院HRP信息系统建设项目实例 来论述 成本管理 在其中的作用。 成本管理定义 信息系统项目管理师教材定义: 项目成本管理工作是在项目实施过程中&#xff0c;通过项目成本管理尽量使项…

【深度学习图像】拼接图的切分

用户常常将多张图拼成一张图。 如果将这张图拆为多个子图&#xff0c;下面是一种opencv的办法&#xff0c;后面要训练一个模型来识别边缘更为准确。 import osimport cv2 import numpy as npdef detect_lines(image_path):# 读取图片image cv2.imread(image_path)if image i…

MySQL添加索引时会锁表吗?

目录 简介Online DDL概念Online DDL用法总结 简介 在MySQL5.5以及之前的版本&#xff0c;通常更改数据表结构操作&#xff08;DDL&#xff09;会阻塞对表数据的增删改操作&#xff08;DML&#xff09;。 MySQL5.6提供Online DDL之后可支持DDL与DML操作同时执行&#xff0c;降低…

【Vue】深入了解 Axios 在 Vue 中的使用:从基本操作到高级用法的全面指南

文章目录 一、Axios 简介与安装1. 什么是 Axios&#xff1f;2. 安装 Axios 二、在 Vue 组件中使用 Axios1. 发送 GET 请求2. 发送 POST 请求 三、Axios 拦截器1. 请求拦截器2. 响应拦截器 四、错误处理五、与 Vuex 结合使用1. 在 Vuex 中定义 actions2. 在组件中调用 Vuex acti…

免费【2024】springboot OA公文发文管理系统

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

VScode+latex+Sumatra 环境配置

目录 安装Tex Live 及Vscode 安装Tex Live 及Vscode 此处参考博客&#xff1a;VScodelatexSumatra PDF环境配置&#xff08;步步到位&#xff09;进行安装。 本文主要记录配置的json文件设置。 {"latex-workshop.latex.autoBuild.run": "never","la…

js 实现扫雷游戏,源码开放,支持npm引入使用

本人开发的js版本扫雷游戏 体验地址 | Github Minesweeper game Sponsors Install and use npm i minesweeper-gameimport {Map} from minesweeper-game;const map new Map();Reset Map map.reset();TS Statement interface IMapOptions {width?: number; // Map sizeh…

Clickhouse 物化视图-optimize无效

select a, b from test_all; 优点 空间换时间&#xff1a;查询速度快 CREATE MATERIALIZED VIEW test_mv ON CLUSTER ENGINEReplicatedReplacingMergeTree partition by toYYYYMM(b) ORDER BY (b) AS select a, b from test_all where a ! 1; select a, b from test_mv 会看…

[ptrade交易实战] 第十七篇 期货交易类函数!

前言 今天给大家分享的是期货交易相关里面的期货交易函数&#xff0c;这一类的函数是相对较少&#xff0c;可以一次性讲完&#xff01; 具体的开通渠道可以看文章末尾&#xff01; 一、buy_open —— 多开 buy_open(contract, amount, limit_priceNone) 买入开仓函数 注意…

数据实时获取方案之Flink CDC

目录 一、方案描述二、Flink CDC1.1 什么是CDC1.2 什么是Flink CDC1.3 其它CDC1.4 FlinkCDC所支持的数据库情况 二、使用Pipeline连接器实时获取数据2.1 环境介绍2.2 相关版本信息2.3 详细步骤2.3.1 实时获取MySQL数据并发送到Kafka2.3.2 实时获取MySQL数据并同步到Doris数据库…

如何使用fiddler 查看手机端数据包

要使用Fiddler查看手机端的数据包&#xff0c;可以按照以下步骤进行操作&#xff1a; 下载并安装Fiddler&#xff1a;首先需要在你的电脑上下载并安装Fiddler软件。可以在Fiddler官方网站&#xff08;https://www.telerik.com/fiddler&#xff09;上找到适合你操作系统的版本&a…

初识C++|模板初阶

&#x1f36c; mooridy-CSDN博客 &#x1f9c1;C专栏&#xff08;更新中&#xff01;&#xff09; 目录 &#x1f349;1. 泛型编程 &#x1f349;2. 函数模板 &#x1f95d;2.1 函数模板概念 &#x1f95d;2.2 函数模板格式 &#x1f95d;2.3 函数模板的原理 &#x1f95…

万界星空科技QMS系统:全面赋能企业质量管理的创新引擎

万界星空科技质量管理QMS系统&#xff08;Quality Management System&#xff09;是一套全面、高效的质量管理工具&#xff0c;旨在帮助企业提升产品质量、优化生产流程、降低质量成本。该系统集成了多个功能模块&#xff0c;以满足企业在质量管理方面的各种需求。以下是万界星…