BP神经网络反向传播手动推导

BP神经网络过程:

基本思想

BP算法是一个迭代算法,它的基本思想如下:

  1. 将训练集数据输入到神经网络的输入层,经过隐藏层,最后达到输出层并输出结果,这就是前向传播过程。
  2. 由于神经网络的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
  3. 在反向传播的过程中,根据误差调整各种参数的值(相连神经元的权重),使得总损失函数减小。
  4. 迭代上述三个步骤(即对数据进行反复训练),直到满足停止准则。

梯度下降法

在这里插入图片描述
紫色部分:正确结果与节点输出结果的差值,也就是误差;
红色部分:节点的激活函数,所有输入该节点的链路把经过其上的信号与链路权重做乘积后加总,再把加总结果进行激活函数运算;
绿色部分:链路w(jk)前端节点输出的信号值。

神经网络训练过程实例

  1. 第一层是输入层,包含两个神经元:i1,i2 和偏置b1;
  2. 第二层是隐藏层,包含两个神经元:h1,h2 和偏置项b2;
  3. 第三层是输出:o1,o2。
  4. 每条线上标的 wi 是层与层之间连接的权重。
  5. 激活函数是 sigmod 函数。
  6. 我们用 z 表示某神经元的加权输入和;用 a 表示某神经元的输出。
    在这里插入图片描述

Step 1 前向传播

输入层 —> 隐藏层

在这里插入图片描述

隐藏层 —> 输出层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Step 2 反向传播

计算损失函数:

在这里插入图片描述

隐藏层 —> 输出层的权值更新

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

输入层 —> 隐藏层的权值更新

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样,反向传播算法就完成了,最后我们再把更新的权值重新计算,不停地迭代。 在这个例子中第一次迭代之后,总误差0.298371109下降至0.291027924。
迭代10000次后,总误差为0.000035085。输出为:[0.015912196, 0.984065734]

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

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

相关文章

使用python和pandas进行同类群组分析

背景故事 (Backstory) I stumbled upon an interesting task while doing a data exercise for a company. It was about cohort analysis based on user activity data, I got really interested so thought of writing this post.在为公司进行数据练习时,我偶然发…

3.Contructor(构造器)模式—精读《JavaScript 设计模式》Addy Osmani著

同系列友情链接: 1.设计模式之初体验—精读《JavaScript 设计模式》Addy Osmani著 2.设计模式的分类—精读《JavaScript 设计模式》Addy Osmani著 Construct(构造器)模式 在经典的面向对象编程语言中,Construtor是一种在内存已分配给该对象的…

BZOJ 3653: 谈笑风生(离线, 长链剖分, 后缀和)

题意 给你一颗有 \(n\) 个点并且以 \(1\) 为根的树。共有 \(q\) 次询问,每次询问两个参数 \(p, k\) 。询问有多少对点 \((p, a, b)\) 满足 \(p,a,b\) 为三个不同的点,\(p, a\) 都为 \(b\) 的祖先,且 \(p\) 到 \(a\) 的距离不能超过 \(k\) 。 …

搜索引擎优化学习原理_如何使用数据科学原理来改善您的搜索引擎优化工作

搜索引擎优化学习原理Search Engine Optimisation (SEO) is the discipline of using knowledge gained around how search engines work to build websites and publish content that can be found on search engines by the right people at the right time.搜索引擎优化(SEO…

Siamese网络(孪生神经网络)详解

SiameseFCSiamese网络(孪生神经网络)本文参考文章:Siamese背景Siamese网络解决的问题要解决什么问题?用了什么方法解决?应用的场景:Siamese的创新Siamese的理论Siamese的损失函数——Contrastive Loss损失函…

Dubbo 源码分析 - 服务引用

1. 简介 在上一篇文章中,我详细的分析了服务导出的原理。本篇文章我们趁热打铁,继续分析服务引用的原理。在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直联的方式引用服务,第二种方式是基于注册中心进行引用。…

期权价格的上限和下限

期权按照买方权利性质分为:看涨期权和看跌期权 1、首先,看涨期权的上限和下限 看涨期权价格上限为其标的资产价格。 看涨期权是给予买方一个在未来买入标的资产的权利,如果该权利的价格高于标的资产的价格,那么投资者不如直接购买…

一件登录facebook_我从Facebook的R教学中学到的6件事

一件登录facebookBetween 2018 to 2019, I worked at Facebook as a data scientist — during that time I was involved in developing and teaching a class for R beginners. This was a two-day course that was taught about once a month to a group of roughly 15–20 …

SiameseFC超详解

SiameseFC前言论文来源参考文章论文原理解读首先要知道什么是SOT?(Siamese要做什么)SiameseFC要解决什么问题?SiameseFC用了什么方法解决?SiameseFC网络效果如何?SiameseFC基本框架结构SiameseFC网络结构Si…

Python全栈工程师(字符串/序列)

ParisGabriel Python 入门基础字符串:str用来记录文本信息字符串的表示方式:在非注释中凡是用引号括起来的部分都是字符串‘’ 单引号“” 双引号 三单引""" """ 三双引有内容代表非空字符串否则是空字符串 区别&#xf…

跨库数据表的运算

跨库数据表的运算,一直都是一个说难不算太难,说简单却又不是很简单的、总之是一个麻烦的事。大量的、散布在不同数据库中的数据表们,明明感觉要把它们合并起来,再来个小小的计算,似乎也就那么回事……但真要做起来&…

FCN全卷积网络随笔

参考:四、全卷积网络FCN详细讲解(超级详细哦) 这篇文章已经写的很好了,这里说两个我考虑的点。 第一个就是:FCN在缩小成heat map,为什么要通过上采样还原回原图大小? 我觉得这个的原因是因为&a…

熊猫在线压缩图_回归图与熊猫和脾气暴躁

熊猫在线压缩图数据可视化 (Data Visualization) I like the plotting facilities that come with Pandas. Yes, there are many other plotting libraries such as Seaborn, Bokeh and Plotly but for most purposes, I am very happy with the simplicity of Pandas plotting…

敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的

敏捷数据科学pdfTL;DR;TL; DR; I have encountered a lot of resistance in the data science community against agile methodology and specifically scrum framework; 在数据科学界,我遇到了许多反对敏捷方法论(特别是Scrum框架)的抵制。 I don’t see it this …

oracle的连接字符串

OracleConnection oCnn new OracleConnection("Data SourceORCL_SERVER;USERM70;PASSWORDmmm;");建立个角色 建立个表空间(角色与表空间同名的) 在方案里就可以建立表,然后就哦了 10g

SiameseRPN详解

SiameseRPN论文来源论文背景一,简介二,研究动机三、相关工作论文理论注意:网络结构:1.Siamese Network2.RPN3.LOSS计算4.Tracking论文的优缺点分析一、Siamese-RPN的贡献/优点:二、Siamese-RPN的缺点:代码流…

数据可视化 信息可视化_可视化数据操作数据可视化与纪录片的共同点

数据可视化 信息可视化Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. More importantly, it’s a fun way to connect things we love — visualizing data and kicki…

python 图表_使用Streamlit-Python将动画图表添加到仪表板

python 图表介绍 (Introduction) I have been thinking of trying out Streamlit for a while. So last weekend, I spent some time tinkering with it. If you have never heard of this tool before, it provides a very friendly way to create custom interactive Data we…

Python--day26--复习

转载于:https://www.cnblogs.com/xudj/p/9953293.html