认识神经网络【多层感知器数学原理】
文章目录
- 1、什么是神经网络
- 2、人工神经网络
- 3、多层感知器
- 3.1、输入层
- 3.2、隐藏层
- 3.2.1、隐藏层 1
- 3.2.2、隐藏层 2
- 3.3、输出层
- 3.4、前向传播
- 3.4.1、加权和⭐
- 3.4.2、激活函数
- 3.5、反向传播
- 3.5.1、计算梯度
- 3.5.2、更新权重和偏置
- 4、小结
🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎人工智能和前端开发。
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹
1、什么是神经网络
人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型。
人脑可以看做是一个生物神经网络,由众多的神经元连接而成。
各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号。
下图是生物神经元示意图:
当电信号通过树突进入到细胞核时,会逐渐聚集电荷。达到一定的电位后,细胞就会被激活,通过轴突发出电信号。
2、人工神经网络
那怎么构建人工神经网络中的神经元呢?
这个流程就像,来源不同树突(树突都会有不同的权重)的信息,进行的加权计算,输入到细胞中做加和,再通过激活函数输出细胞值。
接下来,我们使用多个神经元来构建神经网络,相邻层之间的神经元相互连接,并给每一个连接分配一个强度,如下图所示:
神经网络中信息只向一个方向移动,即从输入节点向前移动,通过隐藏节点,再向输出节点移动。
其中的基本部分是:
- 输入层:即输入 x 的那一层
- 输出层:即输出 y 的那一层
- 隐藏层:输入层和输出层之间都是隐藏层
特点是:
- 同一层的神经元之间没有连接
- 第 N 层的每个神经元和第 N-1层 的所有神经元相连(这就是full connected的含义)
- 第N-1层神经元的输出就是第N层神经元的输入
- 每个连接都有一个权值
3、多层感知器
详解上文提到的多层感知器:
多层感知器 (Multilayer Perceptron, MLP) 结构
3.1、输入层
输入层: Input Layer
输入特征 (Input Features): ( x 1 , x 2 , x 3 ) ( x_1, x_2, x_3 ) (x1,x2,x3)
- 输入层的神经元数量等于输入特征的数量。
- 在这个例子中,有三个输入特征 ( x 1 , x 2 , x 3 ) ( x_1, x_2, x_3 ) (x1,x2,x3);输入特征可以来自数据集中的一个样本
3.2、隐藏层
隐藏层:Hidden Layers
3.2.1、隐藏层 1
- 这是网络中的第一个隐藏层,包含多个神经元。
- 每个神经元接收来自输入层的加权输入。
- 每个连接(线条)代表一个权重 ( w ) ( w ) (w),这些权重在训练过程中会被调整。
- 隐藏层神经元通过激活函数(例如 ReLU、Sigmoid 等)生成输出。
3.2.2、隐藏层 2
- 这是网络中的第二个隐藏层,包含多个神经元。
- 每个神经元接收来自隐藏层 1 的加权输入。
- 这些输入经过加权求和并通过激活函数生成输出。
3.3、输出层
输出层:Output Layer
输出 (Outputs): ( y 1 , y 2 ) ( y_1, y_2 ) (y1,y2)
- 输出层的神经元数量等于预测目标的数量。在这个例子中,有两个输出 ( y 1 , y 2 ) ( y_1, y_2 ) (y1,y2)。
- 每个输出神经元接收来自隐藏层 2 的加权输入。
- 输出神经元可以使用线性激活函数(对于回归任务)或其他激活函数(如 Softmax 对于分类任务)生成最终的预测值。
3.4、前向传播
前向传播:Forward Propagation
3.4.1、加权和⭐
加权和:Weighted Sum
- 每个神经元接收所有前一层神经元的输出,乘以各自的权重,并加上偏置项,然后计算加权和。
- 数学表达式: z j ( l ) = ∑ i = 1 n ( l − 1 ) w j i ( l ) a i ( l − 1 ) + b j ( l ) z_j^{(l)} = \sum_{i=1}^{n^{(l-1)}} w_{ji}^{(l)} a_i^{(l-1)} + b_j^{(l)} zj(l)=∑i=1n(l−1)wji(l)ai(l−1)+bj(l)
- 公式解释:
- ( l ) ( l ) (l) 表示当前层, ( j ) ( j ) (j)表示当前层的神经元索引,( i ) 表示前一层的神经元索引
- z j ( l ) z_j^{(l)} zj(l) 表示第 ( l l l) 层第 ( j j j) 个神经元的输入加权和。
- n ( l − 1 ) n^{(l-1)} n(l−1) 表示第 ( l − 1 l-1 l−1) 层的神经元数量。
- w j i ( l ) w_{ji}^{(l)} wji(l) 表示从第 ( l − 1 l-1 l−1) 层第 i i i 个神经元到第 l l l 层第 j j j 个神经元的权重。
- a i ( l − 1 ) a_i^{(l-1)} ai(l−1) 表示第 ( l − 1 l-1 l−1) 层第 i i i 个神经元的输出(激活值)。
- b j ( l ) b_j^{(l)} bj(l) 表示第 l l l 层第 j j j 个神经元的偏置。
3.4.2、激活函数
激活函数:Activation Function
- 加权和 ( z ) ( z ) (z)通过激活函数生成当前层神经元的输出。
- 数学表达式: a j ( l ) = f ( z j ( l ) ) a_j^{(l)} = f(z_j^{(l)}) aj(l)=f(zj(l))
- a j ( l ) a_j^{(l)} aj(l) 表示第 l l l 层第 j j j 个神经元的输出(激活值),其中 f f f 是激活函数。
3.5、反向传播
反向传播:Backward Propagation
3.5.1、计算梯度
计算梯度:Compute Gradients
- 反向传播从输出层开始,通过计算损失函数的梯度,逐层向前传播误差,计算每个权重和偏置的梯度。
- 数学表达式(举例说明): [ δ j ( l ) = ∂ L ∂ z j ( l ) ] [ \delta^{(l)}_j = \frac{\partial L}{\partial z^{(l)}_j} ] [δj(l)=∂zj(l)∂L]
- ( δ j ( l ) ) ( \delta^{(l)}_j ) (δj(l))是第 ( l ) ( l ) (l)层第 ( j ) ( j ) (j)个神经元的误差项, ( L ) ( L ) (L)是损失函数。
3.5.2、更新权重和偏置
权重和偏置:Weights and Biases
- 使用优化算法(如梯度下降)更新每个权重和偏置,以最小化损失函数。
- 数学表达式:KaTeX parse error: {align*} can be used only in display mode.
- 其中 ( η ) ( \eta ) (η)是学习率。
4、小结
什么是神经网络:神经网络就是模拟人神经元的工作机理,并构造仿生的神经元来解决实际问题
一个简单的神经网络,包括输入层、隐藏层、输出层,其中隐藏层可以有很多层,每一层也可以包含数量众多的的神经元
相关文章:

认识神经网络【多层感知器数学原理】
文章目录 1、什么是神经网络2、人工神经网络3、多层感知器3.1、输入层3.2、隐藏层3.2.1、隐藏层 13.2.2、隐藏层 2 3.3、输出层3.4、前向传播3.4.1、加权和⭐3.4.2、激活函数 3.5、反向传播3.5.1、计算梯度3.5.2、更新权重和偏置 4、小结 🍃作者介绍:双非…...
MySQL入门学习-SQL高级技巧.CTE和递归查询
在 MySQL 中,SQL 高级技巧包括了 Common Table Expressions(CTE)和递归查询等。 一、CTE(Common Table Expressions,公共表表达式)的概念: CTE 是一个临时的结果集,它可以在一个查询…...

键盘是如何使用中断机制的?当打印一串字符到显示屏上时发生了什么???
当在键盘上按下一个键时会进行一下操作: 1.当按下任意一个键时,键盘编码器监控会来判断按下的键是哪个 2.键盘控制器用将解码,将键盘的数据保存到键盘控制器里数据寄存器里面 3.此时发送一个中断请求给中断控制器,中断控制器获取到中断号发送…...
Spring Boot 接口访问频率限制的实现详解
目录 概述为什么需要接口访问频率限制常见的实现方式 基于过滤器的实现基于拦截器的实现基于第三方库Bucket4j的实现 实际代码示例 基于过滤器实现Rate Limiting基于拦截器实现Rate Limiting使用Bucket4j实现Rate Limiting 最佳实践 选择合适的限流算法优化性能记录日志和监控…...

前端页面:用户交互持续时间跟踪(duration)user-interaction-tracker
引言 在用户至上的时代,精准把握用户行为已成为产品优化的关键。本文将详细介绍 user-interaction-tracker 库,它提供了一种高效的解决方案,用于跟踪用户交互的持续时间,并提升项目埋点的效率。通过本文,你将了解到如…...

中文分词库 jieba 详细使用方法与案例演示
1 前言 jieba 是一个非常流行的中文分词库,具有高效、准确分词的效果。 它支持3种分词模式: 精确模式全模式搜索引擎模式 jieba0.42.1测试环境:python3.10.9 2 三种模式 2.1 精确模式 适应场景:文本分析。 功能࿱…...

EXO-helper解释
目录 helper解释 helper解释 在Python中,字符串 "\033[93m" 是一个ANSI转义序列,用于在支持ANSI转义码的终端或控制台中改变文本的颜色。具体来说,\033[93m 用于将文本颜色设置为亮黄色(或浅黄色,具体取决于终端的显示设置)。 这里的 \033 实际上是八进制的 …...

Qt开发网络嗅探器01
引言 随着互联网的快速发展和普及,人们对网络性能、安全和管理的需求日益增长。在复杂的网络环境中,了解和监控网络中的数据流量、安全事件和性能问题变得至关重要。为了满足这些需求,网络嗅探器作为一种重要的工具被 广泛应用。网络嗅探器是…...
mysql面试(三)
MVCC机制 MVCC(Multi-Version Concurrency Control) 即多版本并发控制,了解mvcc机制,需要了解如下这些概念 事务id 事务每次开启时,都会从数据库获得一个自增长的事务ID,可以从事务ID判断事务的执行先后…...

阿里云公共DNS免费版自9月30日开始限速 企业或商业场景需使用付费版
本周阿里云发布公告对公共 DNS 免费版使用政策进行调整,免费版将从 2024 年 9 月 30 日开始按照请求源 IP 进行并发数限制,单个 IP 的请求数超过 20QPS、UDP/TCP 流量超过 2000bps 将触发限速策略。 阿里云称免费版的并发数限制并非采用固定的阈值&…...

捷配生产笔记-一文搞懂阻焊层基本知识
什么是阻焊层? 阻焊层(也称为阻焊剂)是应用于PCB表面的一层薄薄的聚合物材料。其目的是保护铜电路,防止焊料在焊接过程中流入不需要焊接的区域。除焊盘外,整个电路板都涂有阻焊层。 阻焊层应用于 PCB 的顶部和底部。树…...

html 常用css样式及排布问题
1.常用样式 <style>.cy{width: 20%;height: 50px;font-size: 30px;border: #20c997 solid 3px;float: left;color: #00cc00;font-family: 黑体;font-weight: bold;padding: 10px;margin: 10px;}</style> ①宽度(长) ②高度(宽&a…...

【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型
客户端与服务端负载均衡机制 可能有第一次听说集群和负载均衡,所以呢,我们先来做一个介绍,然后再聊服务端与客户端的负载均衡区别。 集群与负载均衡 负载均衡是基于集群的,如果没有集群,则没有负载均衡这一个说法。 …...

【Elasticsearch】Elasticsearch 中的节点角色
Elasticsearch 中的节点角色 1.主节点(master)1.1 专用候选主节点(dedicated master-eligible node)1.2 仅投票主节点(voting-only master-eligible node) 2.数据节点(data)2.1 内容…...
pip install与apt install区别
pipapt/apt-get安装源PyPI 的 python所有依赖的包软件、更新源、ubuntu的依赖包 1 查看pip install 安装的数据包 命令 pip list 2 查看安装包位置 pip show package_name参考 https://blog.csdn.net/nebula1008/article/details/120042766...
分表分库是一种数据库架构的优化策略,用于处理大规模数据和高并发请求,提高数据库的性能和可扩展性。
分表分库是一种数据库架构的优化策略,用于处理大规模数据和高并发请求,提高数据库的性能和可扩展性。以下是一些常见的分表分库技术方案: 1. **水平分表(Horizontal Sharding)**: - 将单表数据根据某个…...
【ffmpeg命令入门】获取音视频信息
文章目录 前言使用ffmpeg获取简单的音视频信息输入文件信息文件元数据视频流信息音频流信息 使用ffprobe获取更详细的音视频信息输入文件信息文件元数据视频流信息音频流信息 总结 前言 在处理多媒体文件时,了解文件的详细信息对于调试和优化处理过程至关重要。FFm…...

【IoTDB 线上小课 05】时序数据文件 TsFile 三问“解密”!
【IoTDB 视频小课】持续更新!第五期来啦~ 关于 IoTDB,关于物联网,关于时序数据库,关于开源... 一个问题重点,3-5 分钟详细展开,为大家清晰解惑: IoTDB 的 TsFile 科普! 了解了时序数…...

python-爬虫实例(4):获取b站的章若楠的视频
目录 前言 道路千万条,安全第一条 爬虫不谨慎,亲人两行泪 获取b站的章若楠的视频 一、话不多说,先上代码 二、爬虫四步走 1.UA伪装 2.获取url 3.发送请求 4.获取响应数据进行解析并保存 总结 前言 道路千万条,安全第一条 爬…...

C# yaml 配置文件的用法(一)
目录 一、简介 二、yaml 的符号 1.冒号 2.短横杆 3.文档分隔符 4.保留换行符 5.注释 6.锚点 7.NULL值 8.合并 一、简介 YAML(YAML Aint Markup Language)是一种数据序列化标准,广泛用于配置文件、数据交换和存储。YAML的设计目标是…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

工厂方法模式和抽象工厂方法模式的battle
1.案例直接上手 在这个案例里面,我们会实现这个普通的工厂方法,并且对比这个普通工厂方法和我们直接创建对象的差别在哪里,为什么需要一个工厂: 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类: 两个发…...

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建
目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程. 本…...