机器学习---BP算法

news2024/11/24 2:37:25

1. 多级网络

层号确定层的高低:层号较小者,层次较低,层号较大者,层次较高。

输入层:被记作第0层。该层负责接收来自网络外部的信息。

j:第j-1层的直接后继层(j>0),它直接接受第j-1层的输出。

输出层:它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果。

隐藏层:除输入层和输出层以外的其它各层叫隐藏层。隐藏层不直接接受外界的信号,也不直接向

外界发送信号。

输出层的层号为该网络的层数:n层网络,或n级网络。

j-1层到第j层的联接矩阵为第j层联接矩阵,输出层对应的矩阵叫输出层联接矩阵。

2. BP算法

BP网络主要用于:

1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。

2)模式识别:用一个特定的输出向量将它与输入向量联系起来。

3)分类:把输入向量 以所定义的合适方式进行分类。

4)数据压缩:减少输出向量维数以便于传输或存储。

基本原理:利用输出误差来估计输出层的直接前导层的误差,在用这个误差估计更前一层的误

差,如此一层一层的反传下去,就获得了所有其他各层的误差估计,利用此误差更新权重。

W是网络的参数,J是目标函数。

基本学习过程:神经网络在外界有导师输入样本的刺激下,不断改变网络的连接权值,以使网络的

输出不断接近期望的输出。 

学习的本质:对各连接权值的动态调整。

学习规则:将误差分摊给各层的所有单元——各层单元的误差信号,修正各层连接权值。

信号前馈:输入样本-->输入层-->各隐层-->输出层。

判断是否转入反向传播阶段:若输出层的实际输出与期望输出(教师信号)不符。

误差反传:误差以在各层表达,并借此来修正各层单元的权值,网络输出的误差减少到可接受的程

度或进行到预先设定的学习次数为止。

一个隐含层(也可以看成3层BP网络):

①期望输出:

②误差函数e(第K个样本):

③激活函数f(.)

激活函数必须处处可导,比如:sigmoid函数

BP算法步骤: 

①网络初始化:给各连接权值赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精确度

ε和最大学习次数M。

②随机选取第K个输入样本,及对应期望输出

③计算各层各神经元的输入和输出

④计算误差函数对输出层权重的偏导数---链式微分法则

⑤计算误差函数对隐藏层权值的偏导数δ(k)

⑥修正隐藏层---输出层连接权值w(k)

⑦修正输入层---隐藏层连接权值

⑧计算全局误差

⑨判断网络误差是否满足要求

当误差达到预设精度或者学习次数大于设定的最大次数,则结束算法;

否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。

BP算法的直观解释:

①当误差对权值的偏导数大于0时,权值调整量为负,实际输出大于期望输出,权值向减少方向调

整,使得实际输出与期望输出的差减少。

②当误差对权值的偏导数小于0时,权值调整量为正,实际输出小于期望输出,权值向增大方向调

整,使得实际输出与期望输出的差减少。

训练过程概述: 

样本:(输入向量,理想输出向量)

①向前传播阶段

从样本集中取一个样本(Xp,Yp),将Xp输入到网络;

计算相应的实际输出Op:

②向后传播阶段,误差传播阶段

计算实际输出Op与相应的理想输出Yp的差; 按极小化误差的方法调整权值矩阵。

网络中关于第p个样本的误差:

网络中关于整个样本集的误差:

误差传播分析:

①输出层权的调整

②隐藏层权的调整

δpk-1的权值和δ1k、δ2k......δmk有关,不妨认为δpk-1通过权Wp1对δ1k做出贡献, 通过权Wp2对

δ2k做出贡献.......通过权Wpm对δmk做出贡献。

当ANj为输出层神经元时:

 当ANj为隐藏层神经元时:

NETk是Oj下一级的神经元的网络输入。 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

sub0 里斯本精彩回顾:探索波卡区块的创新空间

sub0 Europe 2023 已在葡萄牙里斯本圆满结束!sub0 大会是波卡生态开发者大会,由波卡协议的主要开发方 Parity Technologies 举办的开发者大会,汇聚了全球 Substrate 开发者和学习者,旨在为 Polkadot 和 Kusama 生态的开发者、贡献…

【红日靶场】vulnstack2-完整渗透过程

文章目录 一、网络拓扑二、描述配置环境渗透开始信息收集开始攻击干掉杀软cs上线权限提升 内网探测横向移动再次横向rdp连接痕迹清除 总结: 一、网络拓扑 网络配置: 二、描述 红队实战系列,主要以真实企业环境为实例搭建一系列靶场&#x…

Library ‘iconv2.4.0‘ not found 问题及解决方法

今天升级了一下Mac mini 和Xcode,运行项目就报Library iconv2.4.0 not found的错误 mac mini 升级:13.0 --> 13.6 xcode升级到:15.0(15A240d) 可以肯定 项目在旧版本下,是能通过编译 并且能运行的。 废话不多说&#xff0c…

网络安全——自学(黑客)方法

如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…

再生之术:遗忘 Root 密码的 CentOS8 Stream 解决方案

文章目录 大魔头 RootGRUB 引导界面BootLoaderGRUB主要功能选择启动的操作系统编辑内核启动参数 进入GRUB 引导界面编辑内核启动参数单用户模式 进入内核编辑界面rd.break进入单用户模式 大魔头 Root 哈哈,你好!今天,让我们来聊聊 Linux 系统…

提高效率!掌握项目管理工具中任务优先级的使用技巧

在项目管理中,我们经常会遇到一些具有强制依赖关系的任务。这些任务之间的关系是绝对的,并且毫无疑问必须首先完成什么。例如,您必须先设计一个产品,然后才能构建它,并且必须先构建它,然后才能绘制它。然而…

嵌入式芯片-NE555

目录 1、比较器(运放) 2、相反门(非门) 3、或非门 4、双稳态触发器 5、NE555功能框图 1、比较器(运放) 2、相反门(非门) 3、或非门 4、双稳态触发器 5、NE555功能框图

FastestDet---模型训练

代码:https://github.com/dog-qiuqiu/FastestDet 一、构造数据集 数据集格式YOLO相同,每张图片对应一个txt标签文件。标签格式:“category cx cy wh”,category为类别id,cx, cy为归一化标签框中心点的坐标,w, h为归一化标签框的宽度和高度, .txt标签文件内容示例如下: 0…

基于SpringBoot的医院管理系统

目录 前言 一、技术栈 二、系统功能介绍 病床信息管理 药房信息管理 个人中心管理 药房信息 病床类别 科室信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息互联网信息的飞速发展,医院也在创建着属于自己的管理系统。本文介…

如何像人类一样写HTML之代码编辑器的选择与基础框架

文章目录 前言一、 HTML是什么?二、 HTML的发展历史三、 HTML的优点a. 简单易学b. 跨浏览器兼容性c. 良好的可读性 四、 超文本是什么?五、 代码编辑器的选择:VSCodea. 安装VSCodeb. 创建HTML文件方式1方式2 c. 编写HTML代码安装Live Server插…

【算法基础】数组和链表,动态数组,循环数组,链表的变种

目录 1 数组(Array) 1.1 定义和特点 1.2 基本操作 1.3 数组的时间复杂度 1.4 应用场景 2 链表(Linked List) 2.1 定义和特点: 2.1.1 单向链表(Singly Linked List) 2.1.2 双向链表&…

Axure RP9 引入eCharts图表

一、 ECharts 地址:https://echarts.apache.org/zh/index.html 概述:一个基于 JavaScript 的开源可视化图表库 提供了很多图标样式案例 二、 Axure引入eCharts图表步骤 步骤一:打开Axure,添加矩形元素,调整矩形所…

Mybatis 二级缓存

之前我们介绍过映射器与XML配置职责分离,本篇我们在此基础上介绍Mybatis中二级缓存的使用。 如果您对映射器与XML配置职责分离不太了解,建议您先进行了解后再阅读本篇,可以参考: Mybatis 映射器与XML配置职责分离https://blog.c…

轻松解决软件游戏msvcr120.dll丢失问题,msvcr120.dll丢失的修复步骤分享

msvcr120.dll 丢失可能会让许多软件和游戏无法正常运行,给用户带来无尽的困扰。当你尝试打开某个程序时,可能会弹出一个提示框,告诉你缺少 msvcr120.dll 文件。当你尝试运行某个游戏时,可能会遇到无法启动或运行一段时间后崩溃的问…

java项目中数据权限实现思路

一、需求: 同样的页面,不同的账号登录进去,看到的数据不一样。 二、权限管理的方式 RBAC模型 角色与数据权限的关系: 比如管理员角色,他的数据权限是全部,那么拥有该角色的用户,所能看到的数…

基于YOLOv8模型的蜜蜂目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的蜜蜂目标检测系统可用于日常生活中检测与定位蜜蜂目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集…

低代码软件:业务经理的利器!快速掌握使用技巧

低代码的出现,让应用开发不再是开发人员的专属工作。要知道在企业中,业务开发压力加上开发人手不够导致开发团队会积压大量请求。不仅拖慢了业务进程,也难免造成开发软对和业务团队之间的矛盾。 而成熟的业务经理在行业中深耕多年&#xff0…

基于PHP+MySQL的家教平台

摘要 设计和实现基于PHP的家教平台是一个复杂而令人兴奋的任务。这个项目旨在为学生、家长和教师提供一个便捷的在线学习和教授平台。本文摘要将概述这个项目的关键方面,包括用户管理、课程管理、支付处理、评价系统、通知系统和安全性。首先,我们将建立…

Golang的测试、基准测试和持续集成

在Golang中,内置的垃圾回收器处理内存管理,自动执行内存分配和释放。 单元测试是软件开发中至关重要的一个方面,它确保了代码的正确性并在开发过程中尽早发现错误。在Go中,编写有效的单元测试非常简单,并为开发人员提…

Mysql8安装+重装的数据备份方法【提供Mysql8.0.27版本的压缩包】

文章目录 Mysql8压缩安装包下载安装流程压缩包解压配置环境变量 初始化数据库连接数据库修改密码Mysql重装/重装系统 的数据库备份方法数据备份数据还原 Mysql8压缩安装包下载 压缩包下载路径 安装流程 压缩包解压 首先将压缩包解压,下图是解压之后的文件目录&a…