机器学习---BP算法

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.mzph.cn/news/90141.shtml

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

相关文章

使用Kalibr工具线对相机+IMU离线标定

传感器标定的准确后面做算法才会更准确,所以对Kalibr进行学习。 一、Kalibr编译 1、下载kalibr包 GitHub下载地址 2、 解压后放到/catkin_ws/src文件夹下 重新命令文件夹为kalibr 3、 安装依赖库 sudo apt-get install python-setuptools python-rosinstall…

css实现渐变电量效果柱状图

我们通常的做法就是用echarts来实现 比如 echarts象形柱图实现电量效果柱状图 接着我们实现进阶版,增加渐变效果 echarts分割柱形图实现渐变电量效果柱状图 接着是又在渐变的基础上,增加了背景色块的填充 echarts实现渐变电量效果柱状图 其实思路是一…

深度学习(1)---卷积神经网络

文章目录 一、发展历史1.1 CNN简要说明1.2 猫的视觉实验1.3 新认知机1.4 LeNet-51.5 AlexNet 二、卷积层2.1 图像识别特点2.2 卷积运算2.3 卷积核2.4 填充和步长2.5 卷积计算公式2.6 多通道卷积 三、池化层 一、发展历史 1.1 CNN简要说明 1. 卷积神经网络(Convolut…

Spring源码分析 事务 实现原理

文章目录 什么是事务Spring事务管理Spring事务实现原理事务管理器事务定义事务的开启事务核心方法业务代码使用事务TransactionInterceptor 什么是事务 一般所指的事务是数据库事务,是指一批不可分割的数据库操作序列,也是数据库并发控制的基本单位。其…

26591-2011 粮油机械 糙米精选机

声明 本文是学习GB-T 26591-2011 粮油机械 糙米精选机. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了糙米精选机的有关术语和定义、工作原理、型号及基本参数、技术要求、试验方法、检 验规则、标志、包装、运输和储存要求。 …

常见列表字典排序

一、列表排序 demoList [1, 3, 2, 4, 9 ,7]res sorted(demoList) # 默认升序# 降序 # res sorted(demoList, reverseTrue)print(res)二、字典排序 demoDict {"篮球": 5, "排球": 9, "网球": 6, "足球": 3}# sorted排序 res so…

Spring面试题21:说一说Spring的@Required注解和@Qualifier注解

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说Spring的@Required注解 @Required ,用于标记在注入的属性上。它表示被注解的属性在配置 Bean 的时候是必需的,如果没有正确配置,则会抛出…

如何使用 API 接口获取商品数据,从申请 API 接口、使用 API 接口到实际应用,一一讲解

在当今的数字化时代,应用程序接口(API)已经成为数据获取的重要通道。API 接口使得不同的应用程序能够方便地进行数据交换,从而促进了信息的广泛传播和利用。在众多的数据源中,商品数据是一个非常重要的领域&#xff0c…

OS 模拟进程状态转换

下面的这个博主写的很好 但是他给的代码print部分和语言风格python三识别不了 这个特别感谢辰同学帮我调好了代码 我放在主页上了 估计过两天就可以通过了 《操作系统导论》实验一:模拟进程状态转换_process-run.py-CSDN博客 这个补充一下他没有的:OS…

R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列...

全文链接:http://tecdat.cn/?p31162 最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出(点击文末“阅读原文”获取完整代码数据)。 相关视频 本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广…

汽车电子——产品标准规范汇总和梳理(信息安全)

文章目录 前言 一、整车 二、充电接口 三、诊断接口 四、远程接口 五、实施指南 总结 前言 见《汽车电子——产品标准规范汇总和梳理》 一、整车 《GB/T 40861-2021 汽车信息安全通用技术要求》 《GB XXXXX—XXXX 汽车整车信息安全技术要求》 《GB/T 41871-2022 信息…

uni-app:canvas-绘制图形4(获取画布宽高,根据画布宽高进行图形绘制)

效果 代码 var width ; var height ; const query uni.createSelectorQuery(); //获取宽度 query.select(#firstCanvas).fields({ size: true }, (res) > { width res.width; height res.height; }).exec(); console.log(宽度width); console.log(高…

计算机网络 - 链路层

计算机网络 - 链路层 计算机网络 - 链路层 基本问题 1. 封装成帧2. 透明传输3. 差错检测 信道分类 1. 广播信道2. 点对点信道 信道复用技术 1. 频分复用2. 时分复用3. 统计时分复用4. 波分复用5. 码分复用 CSMA/CD 协议PPP 协议MAC 地址局域网以太网交换机虚拟局域网 基本问题…

AIGC快速入门体验之虚拟对象

AIGC快速入门体验之虚拟对象 一、什么是AIGC二、AIGC应用场景2.1 代码生成2.2 图片生成2.3 对象生成 三、AIGC虚拟对象3.1 AIGC完全免费工具3.2 快速获取对象3.3 给对象取名3.4 为对象写首诗3.5 和对象聊聊天 一、什么是AIGC AIGC是生成式人工智能(Artificial Intel…

吉利微型纯电,5 万元的快乐

熊猫骑士作为一款主打下层市场的迷你车型,吉利熊猫骑士剑指宝骏悦也,五菱宏光 MINI 等热门选手。 9 月 15 日,吉利熊猫骑士正式上市,售价为 5.39 万,限时优享价 4 .99 万元。价格和配置上对这个级别定位的战略车型有一…

【kkFileView】源码编译打包构建镜像部署

目录 官网使用源码构建镜像k8s启动yaml参考使用介绍 官网 官网: http://kkfileview.keking.cn/zh-cn/index.html在线文档: http://kkfileview.keking.cn/zh-cn/docs/home.html源码地址: https://gitee.com/kekingcn/file-online-preview发行版下载页面: https://gitee.com/kek…

运行软件mfc100u.dll缺失是怎么办?mfc100u.dll丢失解决方法分享

Mfc100u.dll 丢失的问题可能困扰着许多使用计算机的用户。Mfc100u.dll 是一个重要的动态链接库文件,它包含了许多功能模块,如字符串处理、数学计算、文件操作等。当 Mfc100u.dll 文件丢失或损坏时,可能会导致许多应用程序无法正常运行&#x…

kafka环境搭建以及基本原理

kafka最先是作为日志数据采集,后用于消息传递,kafka能承担tb级别数据存储,确保服务的可用性,允许少量数据的丢失 作为消息中间件就有异步、解耦、削峰三个作用 一、单机搭建 单机ip:192.168.64.133 下载地址&#…

JOSEF约瑟DZJ-402 DZY-401导轨式中间继电器 触点形式 两转换 AC、DC220V

DZY(J)-400导轨式中间继电器 系列型号 DZY、DZJ-401 DZY、DZJ-402 DZY、DZJ-403 DZY、DZJ-404 DZY、DZJ-405 DZY、DZJ-406 DZY、DZJ-407 DZY、DZJ-408 DZY、DZJ-409 DZY、DZJ-410 DZY、DZJ-411 DZY、DZJ-412 DZY、DZJ-413 DZY、DZJ-414 DzY、DZJ-415 DZY、DZJ…

[Qt]QListView 重绘实例之一:背景重绘

0 环境 Windows 11Qt 5.15.2 MinGW x64 1 系列文章 简介:本系列文章,是以纯代码方式实现 Qt 控件的重构,尽量不使用 Qss 方式。 《[Qt]QListView 重绘实例之一:背景重绘》 《[Qt]QListView 重绘实例之二:列表项覆…