6.3 BP神经网络

在多层感知器被引入的同时,也引入了一个新的问题:由于隐藏层的预期输出并没有在训练样例中给出,隐藏层结点的误差无法像单层感知器那样直接计算得到。

为了解决这个问题,反向传播(BP)算法被引入,其核心思想是将误差由输出层向前层反向传播,利用后一层的误差来估计前一层的误差。

反向传播算法由亨利·J.凯莉在1960年首先提出,阿瑟·E.布赖森也在1961年进一步讨论该算法。

使用反向传播算法训练的网络称为BP网络

一、梯度下降

为了使得误差可以反向传播,梯度下降的算法被采用,其思想是在权值空间中朝着误差下降最快的反向搜索,找到局部的最小值

w ← w + △w

其中,w 为权值,α为学习率,Loss(·)为损失函数。

损失函数的作用是计算实际输出与期望输出之间的误差

常用的损失函数如下:

1、均方误差,实际输出为oi,预期输出为yi :

2、交叉熵(CE):

由于求偏导需要激活函数是连续的,而符号函数不满足连续的要求,因此通常使用连续可微的函数,如sigmoid作为激活函数。

特别的,sigmoid具有良好的求导性质:

σ ' = σ(1 - σ)

sigmoid函数使得计算偏导时较为方便,因此被广泛应用。

二、反向传播

使得误差反向传播的关键在于利用求偏导的链式法则

我们知道,神经网络是直观展示的一系列计算操作,每个节点可以用一个函数 f (·) 来表示。

下图所示的神经网络则可以表达一个以 w₁,...,w₆ 为参量,以 i₁,...,i₄ 为变量的函数:

在梯度下降中,为了求 △Wk,我们需要用链式规则去求

例如求

通过这种方式,误差得以反向传播并用于更新每一个连续权值,使得神经网络在整体上逼近损失函数的局部最小值,从而达到训练目的。

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

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

相关文章

centos glibc 升级导致系统崩溃

centos 7.9默认的glibc为2.17,因为要安装一些软件,需要升级到glibc 2.18,而从源码进行编译和安装,安装失败,导致系统崩溃。 系统崩溃首先想到的是利用启动盘进行救援,而利用centos 7.9的启动盘始终无法挂载…

【PHP + 代码审计】数组排序算法

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

利用K8S Statefulset搭建Etcd集群 - PVC存储

概述 在测试过程中发现,直接使用本地存储,当节点机器损坏了,对应机器的etcd数据也丢失了,故而做了利用K8S PV,PVC以及NFS来存储数据的尝试,经过一番折腾,测试成功,博文记录&#xf…

银行监管报送系统介绍(五):金融统计数据大集中自动化报送系统——PBOC Report

人民银行金融统计数据大集中自动化报送系统(简称PBOC Report),是基于现代计算机网络技术应用基础上,由人行总行设置金融统计数据服务器,建立的一个全国统一的金融统计数据库。 人行针对各银行存贷款、中间业务、网点人…

【几何】平面方程

文章目录 平面方程一般式截距式点法式法线式 平面方程 平面方程是用一个方程来表示平面,平面上的所有点代入方程,方程都成立。因为用法的不同,平面方程一般有四种表现形式。 一般式 设 n ⃗ ( A , B , C ) \vec n(A,B,C) n (A,B,C) 为平…

信号处理--基于FBCSP滤波方法的运动想象分类

目录 理论 工具 方法 代码获取 理论 通用空间模式 (CSP) 算法可以用来有效构建最佳空间滤波器区分,然后实现运动想象的数据中的脑电信号的区分。然而,空间滤波器性能的好坏主要取决于其工作频带。如果脑电信号没有经过滤波或者滤波的频带范围不合适…

Django 铺垫

【一】基础知识点 【1】web框架的本质 Web框架本质上可以看成是一个功能强大的socket服务端用户的浏览器可以看成是拥有可视化界面的socket客服端两种通过网络请求实现数据交互 【2】浏览器发送请求 (1)HTTP协议 HTTP协议是超文本传输协议&#xff…

【云开发笔记No.15】持续改进与反馈

一、引言 在产品研发过程中,反馈机制是确保项目顺利进行并最终达到预期目标的关键环节。它不仅能够及时发现和纠正开发过程中的问题,还能促进团队成员之间的有效沟通,提高开发效率。持续改进作为现代研发管理的重要理念,与反馈机…

RabbitMQ的事务机制

想要保证发送者一定能把消息发送给RabbitMQ,一种是通过Confirm机制,另一种就是通过事务机制。 RabbitMQ的事务机制,允许生产者将一组操作打包成一个原子事务单元,要么全部执行成功,要么全部失败。事务提供了一种确保消…

wireshark下载

一、官网下载 www.wireshark.org 二、各版本链接 链接:Index of /download/

FPGA使用XADC测量外部模拟输入电压

一、XADC简介 1.1、特性 Xilinx系列的FPGA中都包含了一个内置的XADC,我们可以通过这个XADC进行一些精度不高的外部模拟信号采样以及FPGA片内传感器信号采集。XADC的分辨率为12位,采样率为1MSPS。 1.2、结构框图 两片XADC,ADC A可用于片内…

SpringJPA 做分页条件查询

前言: 相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到. 今天我整理了一下在这里分享一下. 话不多说直接上代码: Controller: RestController public class ProductInstanceContr…

12 React 组件通信 兄弟组件之间通信

12 React 组件通信 兄弟组件之间通信 在React中实现兄弟组件通信相对于父子组件通信来说稍微复杂一些,因为React本身是基于单向数据流的,兄弟组件之间并没有直接的通信途径。不过可以通过以下几种方式实现兄弟组件通信: 通过共同的父组件传递…

Apache HTTP服务器(Linux离线编译安装)

Apache HTTP服务器(Linux离线编译安装) Apache是普通服务器,本身只支持html即普通网页。可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。 Apache和Tomcat都可以做为独立的w…

8个常见的数据可视化错误以及如何避免它们

在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可视化示例,并提供如何避免这些错误的建议。 本文总结了…

Javascript由浅到深

关注我,持续分享逻辑思维&管理思维; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导; 有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自…

蓝桥杯day11刷题日记

P8615 [蓝桥杯 2014 国 C] 拼接平方数 思路:先把数据范围内的平方数打上标记,然后就是遍历这个区间,转成字符串(好拆数据),用substr拆开数据,再强转成整数类型,最后查看拆开的数据是…

【WPF应用13】WPF基本控件-DockPanel布局详解与示例

引言 WPF (Windows Presentation Foundation) 是微软 .NET 框架的一个组成部分,它用于构建桌面应用程序的用户界面。在 WPF 中,控件是构建用户界面的基本元素,而布局控件则负责安排其他控件的位置和大小。DockPanel 是 WPF 中的一个布局控件&…

如何使用PHP和RabbitMQ实现消息队列?

前言 今天我们来做个小试验,用PHP和RabbitMQ实现消息队列功能。 前期准备,需要安装好docker、docker-compose的运行环境。 如何使用docker部署php服务_php如何使用docker发布-CSDN博客 一、安装RabbitMQ 1、创建相关目录,执行如下命令。…

计算机网络⑦ —— 网络层协议

1. ARP协议 在传输⼀个 IP 数据报的时候,确定了源 IP 地址和⽬标 IP 地址后,就会通过主机路由表确定 IP 数据包下⼀跳。然⽽,⽹络层的下⼀层是数据链路层,所以我们还要知道下⼀跳的 MAC 地址。由于主机的路由表中可以找到下⼀跳的…