当前位置: 首页 > news >正文

机器学习---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下一级的神经元的网络输入。 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

机器学习---BP算法

1. 多级网络 层号确定层的高低:层号较小者,层次较低,层号较大者,层次较高。 输入层:被记作第0层。该层负责接收来自网络外部的信息。 第j层:第j-1层的直接后继层(j>0)&#xff…...

继苹果、联发科后,传高通下一代5G芯片将由台积电以3纳米代工

台积电3纳米又有重量级客户加入。市场传出,继苹果、联发科之后,手机芯片大厂高通下一代5G旗舰芯片也将交由台积电以3纳米生产,最快将于10月下旬发表,成为台积电3纳米第三家客户。 针对相关传闻,至昨日(25日…...

【自定义类型】--- 位段、枚举、联合

💓博客主页:江池俊的博客⏩收录专栏:C语言进阶之路👉专栏推荐:✅C语言初阶之路 ✅数据结构探索💻代码仓库:江池俊的代码仓库🎉欢迎大家点赞👍评论📝收藏⭐ 文…...

区块链(9):java区块链项目的Web服务实现之实现web服务

1 引入pom依赖 <dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><version>9.4.8.v20171121</version></dependency><dependency><groupId>org.eclipse.jetty</groupId…...

【CV】各种库安装报错及解决办法

目录 1.Error&#xff1a;Cannot unpack file… 1.Error&#xff1a;Cannot unpack file… 使用命令pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn 包名安装 参考&#xff1a;解决Python使用pip安装库文件出现“Error&a…...

【算法系列篇】哈希表

文章目录 前言1. 两数之和1.1 题目要求1.2 做题思路1.3 Java代码实现 2. 判断是否为字符重排2.1 题目要求2.2 做题思路2.3 Java代码实现 3. 存在重复元素3.1 题目要求3.2 做题思路3.3 Java代码实现 4. 存在重复元素II4.2 题目要求4.2 做题思路4.3 Java代码实现 5. 字母异位词分…...

计算机视觉——飞桨深度学习实战-起始篇

后面我会直接跳到实战项目&#xff0c;将计算机视觉的主要任务和目标都实现一遍&#xff0c;但是需要大家下去自己多理解和学习一下。例如&#xff0c;什么是深度学习&#xff0c;什么是计算机视觉&#xff0c;什么是自然语言处理&#xff0c;计算机视觉的主要任务有哪些&#…...

vscode中运行脚手架项目报表

必选在cmd页面里面安装脚手架离谱啊,不然无法执行npm命令啊 vscode运行vue项目_小何不秃头06的博客-CSDN博客 finereport激活成功 - 帆软 (fanruan.com)...

中睿天下荣获2023全国智能驾驶测试赛车联网安全比赛第一名

9月24日&#xff0c;由工业和信息化部、公安部、交通运输部、中国科学技术协会、北京市人民政府共同主办的2023世界智能网联汽车大会展览会在北京闭幕。同期举行的全国智能驾驶测试赛&#xff08;京津冀赛区&#xff09;宣布比赛结果&#xff0c;中睿天下凭借过硬的产品实力&am…...

opencv图像数组坐标系

在OpenCV的Python接口&#xff08;cv2&#xff09;中&#xff0c;加载的图像数组遵循以下坐标系和方向约定&#xff1a; 1. **坐标系&#xff1a;** OpenCV的坐标系遵循数学中的坐标系&#xff0c;原点&#xff08;0, 0&#xff09;位于图像的左上角。横轴&#xff08;X轴&…...

zookeeper mac安装

目录 1.下载zookeeper安装包 2.解压安装包 3.修改配置文件 4.启动服务端 5.启动客户端 这边工作中用到了zookeeper组件&#xff0c;但自己独立安装弄的不太多&#xff0c;这边本机mac装一个做测试使用 以下是安装记录&#xff0c;可以作为参考 从以下链接zookeeper版本列…...

js生成随机16进制数

在JavaScript中&#xff0c;可以使用以下的代码来生成一个100位的随机十六进制数&#xff1a; function generateRandomHex(length) {var result ;var characters 0123456789abcdef;for (var i 0; i < length; i) {result characters.charAt(Math.floor(Math.random() …...

第七章 查找 八、B树

目录 一、定义 二、B树的核心特性 1、B树各个结点的子树数和关键字数 2、子树高度 3、关键字的值 4、B树高度 三、B树的插入 四、B树的删除 一、定义 B树&#xff0c;又称多路平衡查找树&#xff0c;B树中所有结点的孩子个数的最大值称为B树的阶&#xff0c;通常用m表示…...

Vue以及整合ElementUI

初始化vue项目 #vue 脚手架使用 webpack 模板初始化一个 appname 项目 vue init webpack appname启动 vue 项目 #项目的 package.json 中有 scripts&#xff0c;代表我们能运行的命令 npm start npm run dev #启动项目 npm run build&#xff1a;将项目打包项目结构 运行流程…...

免费、丰富、便捷的资源论坛——Yiove论坛,包括但不限于阿里云盘、夸克云盘、迅雷云盘等等

引言 目前资源的数量达到了60000&#xff0c;六万多的资源意味着在这里几乎可以找到任何你想要的资源。 当然&#xff0c;资源并不是论坛的全部&#xff0c;其中还包括了技术交流、福利分享、最新资讯等等。 传送门&#xff1a;YiOVE论坛 - 一个有资源有交流&#xff0c;有一…...

1.3 互联网的组成

思维导图&#xff1a; 前言&#xff1a; 我的笔记&#xff1a; #### 一、总览 - **互联网的结构**&#xff1a; - 具有全球覆盖和复杂的拓扑结构。 - 即便结构复杂&#xff0c;还是可以从工作方式上简化为两大部分&#xff1a;边缘部分和核心部分。 #### 二、边缘部分 -…...

【机器学习】熵和概率分布,图像生成中的量化评估IS与FID

详解机器学习中的熵、条件熵、相对熵、交叉熵 图像生成中常用的量化评估指标通常有Inception Score (IS)和Frchet Inception Distance (FID) Inception Score (IS) 与 Frchet Inception Distance (FID) GAN的量化评估方法——IS和FID&#xff0c;及其pytorch代码...

Vue3.0跨端Web SDK访问微信小程序云储存,文件上传路径不存在/文件受损无法显示问题(已解决)

整理需求&#xff1a; 需要vue3.0作为pc端的后台管理来连接微信小程序客户端需要Web SDK的引入&#xff0c;实现vue3.0接入云开发环境需要以云环境作为线上服务器&#xff0c;将vue3.0上传的本地文件通过云环境进入云储存&#xff0c;并将文件在云端生成云端快捷访问路径及htt…...

使用chat GPT 生成一个js 生成天数的方法

function calculateDaysDifference(targetDateString) {const currentDate new Date();const targetDate new Date(targetDateString);// 计算毫秒差异const timeDifference targetDate - currentDate;// 计算天数差异&#xff0c;如果结果为负数&#xff0c;则设置为0const…...

BUUCTF reverse wp 76 - 80

[CISCN2018]2ex 四处游走寻找关键代码 int __fastcall sub_400430(int a1, unsigned int a2, int a3) {unsigned int v3; // $v0int v4; // $v0int v5; // $v0int v6; // $v0unsigned int i; // [sp8h] [8h]unsigned int v9; // [sp8h] [8h]int v10; // [spCh] [Ch]v10 0;for…...

射频非线性建模:从S参数到X参数与NVNA的工程实践

1. 非线性星期三&#xff1a;一场射频工程师的“大信号”狂欢如果你是一名射频或微波电路设计工程师&#xff0c;对S参数、负载牵引、谐波失真这些词感到既熟悉又头疼&#xff0c;那么十多年前在巴尔的摩举行的国际微波研讨会&#xff08;IMS 2011&#xff09;上&#xff0c;有…...

AI增强自动化工作流:从规则驱动到意图驱动的智能决策实践

1. 项目概述&#xff1a;当AI遇见自动化工作流最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“NitroRCr/AIaW”。光看名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去研究一下&#xff0c;你会发现它其实是一个将人工智能&#xff08;AI&#xff09;与自动化工…...

量子网络远程纠缠生成技术及其应用

1. 量子网络中的远程纠缠生成技术解析量子纠缠作为量子计算与量子通信的核心资源&#xff0c;其非局域特性为分布式系统提供了经典方法无法实现的协调能力。在金融高频交易、智能电网调度等对延迟极度敏感的领域&#xff0c;量子纠缠带来的协调优势尤为显著。基于腔量子电动力学…...

基于Arduino Pro Micro的薄膜键盘矩阵改造:DIY低成本模拟飞行外设

1. 项目概述&#xff1a;为Falcon BMS打造一款经济型多功能按键面板如果你是一名《Falcon BMS》的飞行模拟爱好者&#xff0c;同时又对硬件DIY抱有热情&#xff0c;那么你很可能和我一样&#xff0c;对市面上那些动辄数百甚至上千元的专业模拟飞行外设感到望而却步。尤其是像F-…...

Stl.Fusion实际应用案例:从HelloCart到复杂业务系统的演进

Stl.Fusion实际应用案例&#xff1a;从HelloCart到复杂业务系统的演进 【免费下载链接】Stl.Fusion Build real-time apps (Blazor included) with less than 1% of extra code responsible for real-time updates. Host 10-1000x faster APIs relying on transparent and near…...

如何构建高效的个人游戏串流服务器:Sunshine完整部署指南

如何构建高效的个人游戏串流服务器&#xff1a;Sunshine完整部署指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在当今数字娱乐时代&#xff0c;游戏玩家面临着设备限制与体验…...

用C8051F单片机自带的12位ADC,实现16位精度的温度测量(附完整代码)

基于C8051F单片机12位ADC实现16位温度测量的工程实践 在嵌入式系统开发中&#xff0c;高精度温度测量往往需要昂贵的16位ADC芯片&#xff0c;但通过合理的算法设计&#xff0c;我们可以利用C8051F系列单片机内置的12位ADC实现等效16位的测量精度。本文将深入探讨过采样技术的实…...

2016年FPGA市场格局:巨头并购、技术演进与工程师实战指南

1. 2016年FPGA市场格局&#xff1a;一场没有悬念的卫冕战聊起2016年的FPGA市场&#xff0c;就像看一场结局早已注定的体育比赛。赛灵思&#xff08;Xilinx&#xff09;毫无悬念地再次登顶年度营收榜首&#xff0c;这已经是它连续十几年稳坐头把交椅了。根本不需要什么复杂的财务…...

Cron表达式智能解析与生成工具:提升定时任务开发效率

1. 项目概述&#xff1a;一个为Cron表达式减负的智能助手 如果你是一名运维工程师、后端开发者&#xff0c;或者任何需要与定时任务打交道的人&#xff0c;那么你一定对Cron表达式又爱又恨。爱的是它那套简洁而强大的语法&#xff0c;能精准地定义“每月的第一个星期一的凌晨3…...

CMOS闩锁效应原理与防护设计实践

1. 闩锁效应基础原理剖析闩锁效应(Latch-up)是CMOS集成电路设计中最为棘手的可靠性问题之一。这种现象本质上是由芯片内部寄生形成的PNP-NPN晶体管对构成的晶闸管结构(SCR)被意外触发导致的。当特定条件满足时&#xff0c;这些寄生元件会形成正反馈回路&#xff0c;导致电源与地…...