神经网络复习--神经网络算法模型及BP算法

文章目录

  • 神经网络模型的构成
  • BP神经网络

神经网络模型的构成

三种表示方式:
在这里插入图片描述
神经网络的三要素:

  1. 具有突触或连接,用权重表示神经元的连接强度
  2. 具有时空整合功能的输入信号累加器
  3. 激励函数用于限制神经网络的输出

感知神经网络
在这里插入图片描述

BP神经网络

BP神经网络的学习由信息的正向传播和误差的反向传播两个过程组成,学习规则采用W-H学习规则(最小均方差,梯度下降法),通过反向传播,不断调整网络的权重和阈值,使得网络的误差平方和最小。

BP神经网络模型通用描述:
z ( k ) = w ( k ) x ( k ) + b ( k ) y ( k ) = f ( z ( k ) ) z^{(k)} = w^{(k)}x^{(k)} + b^{(k)} \\y^{(k)} = f(z^{(k)}) z(k)=w(k)x(k)+b(k)y(k)=f(z(k))

o ( k ) = f ( w ( k ) o ( k − 1 ) + b ( k ) ) o^{(k)} = f(w^{(k)}o^{(k - 1)} + b^{(k)}) o(k)=f(w(k)o(k1)+b(k))

损失函数的构建 E = 1 2 n ∑ p = 1 n ( T p − Q p ) 2 E = \frac{1}{2n} \sum\limits_{p=1}^{n}(T_p - Q_p)^2 E=2n1p=1n(TpQp)2
预测的输出值减期望的输出值的均方差

梯度下降法:
W ( k + 1 ) = W k − a ∗ α α w k ∗ E ( w k , b k ) b ( k + 1 ) = b k = a ∗ α α b k ∗ E ( w k , b k ) W_{(k +1)} = W_{k} - a * \frac{\alpha}{\alpha w_k} * E(w_k, b_k) \\ b_{(k + 1)} = b_k = a * \frac{\alpha}{\alpha b_k} * E(w_k, b_k) W(k+1)=WkaαwkαE(wk,bk)b(k+1)=bk=aαbkαE(wk,bk)

而:
α α w k ∗ E = 1 2 m ∗ ∑ i = 1 m ∗ 2 ∗ ( w k x i + b − y i ) ∗ x i α α b k ∗ E = 1 2 m ∗ ∑ i = 1 m ∗ 2 ∗ ( w k x i + b − y i ) \frac{\alpha}{\alpha w_k} * E = \frac{1}{2m} * \sum\limits_{i = 1}^{m} *2 * (w_k x^i + b - y^i) * x^i \\ \frac{\alpha}{\alpha b_k} * E = \frac{1}{2m} * \sum\limits_{i = 1}^{m} *2 * (w_k x^i + b - y^i) αwkαE=2m1i=1m2(wkxi+byi)xiαbkαE=2m1i=1m2(wkxi+byi)

当采用sigmoid激活函数:
导数: f ′ ( n e t j l ) = f ( n e t j l ) ( 1 − f ( n e t j l ) ) f'(net^l_j) = f(net^l_j)(1 - f(net^l_j)) f(netjl)=f(netjl)(1f(netjl))
( 1 1 + e − z ) ′ = ( 1 1 + e − z ) ∗ ( 1 − 1 1 + e − z ) (\frac{1}{1 + e^{-z}})' = (\frac{1}{1 + e^{-z}}) * (1 - \frac{1}{1 + e^{-z}}) (1+ez1)=(1+ez1)(11+ez1)
对于交叉熵损失函数有:
在这里插入图片描述
例题:
给定神经网络如下:
在这里插入图片描述
输入值为:x1, x2 = 0.5, 0.3
期望输出值为y1, y2 = 0.23, -0.07
给出正向传播的初始参数为 w 1 w_1 w1~ w 8 w_8 w8为0.2 -0.4 0.5 0.6 0.1 -0.5 -0.3 0.8
采用平方损失函数,梯度下降法求解第一轮更新后的参数。

在这里插入图片描述

训练步骤

  1. 表达:计算训练的输出矢量 A = W ∗ P + B A = W * P + B A=WP+B,以及与期望输出之间的误差;
  2. 检查:将网络输出误差的平方和与期望误差相比较,如果其值小于期望误差,或训练以达到实现设定的最大训练次数,则停止训练;否则继续。
  3. 学习:采用最小均方差和梯度下降方法计算权值和偏差,并返回到1

BP算法的改进

  1. 带动量因子算法
  2. 自适应学习速率
  3. 改变学习速率的方法
  4. 作用函数后缩法
  5. 改变性能指标函数

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

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

相关文章

内容检索(2024.05.12)

随着创作数量的增加,博客文章所涉及的内容越来越庞杂,为了更为方便地阅读,后续更新发布的文章将陆续在此汇总并附上原文链接,感兴趣的小伙伴们可持续关注文章发布动态! 本期更新内容: 1. 信号仿真类话题-…

webpack5基础和配置

初步体验webpack打包 webpack是一个静态资源打包工具。 它会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。 输出的文件就是编译好的文件,就可以在浏览器段运行了。 1.初始化最简单的一个目录文件&#xff…

JavaSE——集合框架一(1/7)-集合体系概述(集合体系结构,Collection集合体系)、Collection的常用方法(介绍,实例演示,代码)

目录 集合体系概述 集合体系结构 Collection集合体系 Collection的常用方法 介绍 实例演示 完整代码 集合体系概述 集合体系结构 集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也非常常用。 为了满足…

# ERROR: node with name “rabbit“ already running on “MS-ITALIJUXHAMJ“ 解决方案

ERROR: node with name “rabbit” already running on “MS-ITALIJUXHAMJ” 解决方案 一、问题描述: 1、启动 rabbitmq-server.bat 服务时,出错 Error 2、查询 rabbitmqctl status 状态时,出错 Error 3、停止 rabbitmqctl stop 服务时&a…

关于画图-一次性搞定各类高级论文作图及配色

关于画图-一次性搞定各类高级论文作图及配色 图(Figure)可以让各类论文的结果更加直观,有时候一张图片比一大段文字更有说服力。 但许多新手作者可能会有一连串的疑惑:数据这么多,什么时候该做什么类型的图&#xff…

LabVIEW开发MOOG控制系统数据处理软件

LabVIEW开发MOOG控制系统数据处理软件 在现代航空领域,飞机结构的静强度试验是保证飞机安全运行的关键环节。MOOG加载控制系统作为试验中的关键设备,其数据输出的直观性和易处理性对于提高试验效率具有重要意义。设计了一种基于LabVIEW的MOOG控制系统数…

Pikachu 靶场 File Inclusion 通关解析

前言 Pikachu靶场是一种常见的网络安全训练平台,用于模拟真实世界中的网络攻击和防御场景。它提供了一系列的实验室环境,供安全专业人士、学生和爱好者练习和测试他们的技能。 Pikachu靶场的目的是帮助用户了解和掌握网络攻击的原理和技术,…

Android面试题之kotlin热流和channel

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点 于冷流不同,在垃圾回收之前,flow里的值都是存在内存之中,并且处于活跃状态 StateFlow StateFlow是一个状态容…

DSA理解理解蓝桥杯例题signature

一、历史 1991年8月,NIST(Nation Institute of Standards and Technology,美国国家标准技术研究所)提出了数字签名算法(DSA)用于他们的数字签名标准(DSS)中。 DSA是算法&#xff0c…

双向带头循环链表(图解)

文章目录 头节点(哨兵位)双向循环结构头插尾插头删尾删在指定位置之前插入数据删除指定位置之前的数据销毁链表 全部代码结语 单链表地址 头节点(哨兵位) 什么是头节点呢?头节点也叫哨兵节点,他在链表中进行不了任何操作,只是用来放哨用的,在单链表中我们当我们尾插的时候我们…

使用Flask构建POST请求的Web应用

文章目录 准备工作创建路由处理POST请求创建表单页面运行应用结论 在Web开发中,处理POST请求是一项常见任务,特别是在构建表单提交、用户注册和数据提交等功能时。Flask是一个简单而强大的Python Web框架,它提供了方便的工具来处理HTTP请求&a…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑微电网联盟协调运行的用户侧共享储能多计费方式博弈定价方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

打开远程连接的命令是什么?

远程连接是一种能够在不同设备之间建立连接并共享信息的技术。在许多情况下,我们需要通过远程连接来访问其他设备或处理一些远程任务。本文将介绍一些常用的打开远程连接的命令。 使用SSH连接远程设备 SSH(Secure Shell)是一种安全的网络协议…

Matlab/simulink永磁直驱风机的建模仿真

Matlab/simulink直驱永磁同步风机的建模仿真,跟随风速波动效果好,可以作为后期科研的基础模型

达索电磁仿真软件CST查看方式和消除2D/3D图的反射效果【官方教程】

消除2D/3D图的反射效果 查看和分析2D/3D结果时消除不必要的反射效果 View > Options > View Options > Specials 正面看CST软件的3D场分布图时,如下图所示,因为反射效果导致无法看清楚。本章节介绍一下相应的解决方法。 因为View Options的S…

RabbitMQ的用途

RabbitMQ主要有四个用途,分别是应用解耦、异步提速、削峰填谷、消息分发。详情讲解如下: RabbitMQ介绍、解耦、提速、削峰、分发 详解、RabbitMQ安装 可视化界面讲解 1.应用解耦:提高系统容错性和可维护性 2.异步提速:提升用户体验…

【18-Ⅰ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

PyCharm粘贴失灵?一文教你快速恢复!(如何解决Pycharm无法粘贴的问题)

文章目录 💢 问题 💢🏡 演示环境 🏡💯 解决方案 💯⚓️ 相关链接 ⚓️💢 问题 💢 "为什么你的代码编辑器突然变得不听话了?"最近在使用pycharm的时候遇到了一个问题,就是在pycharm中无法使用粘贴功能,后面经过一番折腾得到了解决,现在将我的解决…

scanf留下的那一片云彩

【题目描述】 给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1200100123。 输入第一行表示有n个字符串,后续是n行字…

自然资源-城镇开发边界内详细规划编制技术指南解读

自然资源-城镇开发边界内详细规划编制技术指南解读