BP反向传播算法原理及公式推导
BP(Back Propagation)神经网络通常是指具有三层网路结构的浅层神经网络。
反向传播算法
1.什么是BP 算法?
BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。BP神经网络是由一个输入层、一个输出层和一个或多个隐层构成的,它的激活函数采用sigmoid函数。在这其中,输入信号经输入层输入,通过隐层计算由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。
2.为什么要使用BP算法?直接使用梯度下降不行吗?
梯度下降可以应对带有明确求导函数的情况,或者说可以应对那些可以求出误差的情况,比如逻辑回归,我们可以把它看做没有隐层的网络;但对于多隐层的神经网络,输出层可以直接求出误差来更新参数,但其中隐层的误差是不存在的,因此不能对它直接应用梯度下降,而是先将误差反向传播至隐层,然后再应用梯度下降,其中将误差从末层往前传递的过程需要链式法则(Chain Rule)的帮助,因此反向传播算法可以说是梯度下降在链式法则中的应用。
这个网络只有3层,分别是蓝色的输入层、绿色的隐藏层和红色的输出层。
假设给了m个训练样本,第i个输入输出对表示为:
其中,x和y是3维向量。对于输入x,我们把g称作神经网络的预测(输出)值。
对于每个训练样本来说,有:
给定输入x,我们要找到使得预测值g与输出值y相等或比较相近的一组网络权重。因此,我们加入了误差函数,定义如下:
我们推广到一般情况,而不是之前的3个输出单元。假设输出层有任意数量的输出单元,设为n,对于这种情况此时的总误差(损失函数)为:
用z来代表某个输出单元的总输入,求出下面公式的值:
但是,g是关于z的函数,应用链式法则,把它重写为:
g作为Logistic函数,z是它的输入,所以可以表示为:
进而得到:
设绿色单元的预测值为g’,绿色层中的单元k与红色层(输出层)中的单元j之间的连接权重设为:
图中,黄色输出单元对应的总输入z。为了计算这个总输入,先获得每个绿色单元的输出值,在把其与连接绿色单元和黄色单元的红色箭头权重相乘,并将它们全部相加。
进行推广,假如有任意数量的绿色单元,设为n,这个n与上面定义的不同,可以表示为:
推导还没有完成,我们仍需要计算误差相对于第一层和第二层连接权重的导数。接下来,计算误差与第k个绿色单元输出值的变化关系:
由于第k个单元有j个连接权重,我们也考虑在内:
推导到这里结束,我们得到了总误差相对于某个单元输出值的导数。现在,我们可以忽略红色输出层,把绿色层作为网络的最后一层,并重复上述所有步骤来计算总误差E相对于输入权重的导数。
BP反向传播算法原理及公式推导相关推荐
- 通俗理解神经网络BP反向传播算法
转载自 通俗理解神经网络BP反向传播算法 通俗理解神经网络BP反向传播算法 在学习深度学习相关知识,无疑都是从神经网络开始入手,在神经网络对参数的学习算法bp算法,接触了很多次,每一次查找资料学习 ...
- [AI 笔记] BP反向传播算法
[AI 笔记] BP反向传播算法 说明 BP算法 链式法则 计算图 简单例子 前向传播 反向传播 聚焦计算节点,深入理解 计算节点的代码实现 例子 各种门的功能 多元链式法则 向量化BP算法 参考资料 ...
- 使用随机梯度下降SGD的BP反向传播算法的PyTorch代码实现
Index 目录索引 写在前面 PyTorch的 .data() PyTorch的 .item() BP with SGD的PyTorch代码实现 参考文章 写在前面 本文将用一个完整的例子,借助Py ...
- BP反向传播算法的思考和直观理解 -卷积小白的随机世界
https://www.toutiao.com/a6690831921246634504/ 2019-05-14 18:47:24 本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积 ...
- BP神经网络(反向传播算法原理、推导过程、计算步骤)
BP神经网络 1.反向传播算法的原理 2.反向传播算法参数学习的推导 3.反向传播算法参数更新案例 3.1 反向传播的具体计算步骤 3.1.1 计算输出层的误差 3.1.2 计算隐藏层误差 3.1.3 ...
- “反向传播算法”过程及公式推导
一.定义 首先来一个反向传播算法的定义(转自维基百科):反向传播(英语:Backpropagation,缩写为BP)是"误差反向传播"的简称,是一种与最优化方法(如梯度下降法)结合 ...
- 神经网络反向传播算法原理笔记
神经网络是一种是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型.该模型以并行分布的处理能力. ...
- 反向传播算法原理(BP算法)(直观易懂)
反向传播(Back Propagation.BP算法) 反向传播是对于神经网络来说最重要的算法 反向传播是求偏导的过程 反向传播的核心是计算图(如下图所示) a和b:输入量/权重,可经一系列运算得到e ...
- 反向传播算法(过程及公式推导)_一文讲透神经网络的反向传播,要点介绍与公式推导...
神经网络的反向传播是什么 神经网络的反向传播,实际上就是逐层计算梯度下降所需要的$w$向量的"变化量"(代价函数$J(w1,b1,w2,b2,w3,b3...wn,bn)$对于$w ...
- BP反向传播算法浅谈(Error Back-propagation)
最近在打基础,大致都和向量有关,从比较基础的人工智能常用算法开始,以下是对BP算法研究的一个小节. 本文只是自我思路的整理,其中举了个例子,已经对一些难懂的地方做了解释,有兴趣恰好学到人工智能对这块 ...
最新文章
- 请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
- ExtJS ComboBox 异步读取项后默认选中某项
- 系列博文-Three.js入门指南(张雯莉)-静态demo和three.js功能概览
- C# 字符串按设置的格试在前面或后面增加空格或其它字符
- Linux SPI总线和设备驱动架构
- SpringBoot 如何测试打包部署
- 关于 xib 的使用
- 机器为什么可以学习(2)---一般化理论
- Cmailserver和outlook配置
- 芒果 mysql插件,NoSQL代表:MongoDB(芒果数据库)
- 获取谷歌浏览器缓存视频方法
- EditText焦点
- 1.18 物主代词 形容词 宾语从句
- 快速提高网站排名软件
- amoeba mysql_详解如何利用amoeba(变形虫)实现mysql数据库读写分离
- 公司企业小程序怎么创建?
- 大数据学习路线-入门精简
- 基于Sequoia DB巨杉数据库的投资组合评比器(设计思路)
- 移动硬盘有文件但看不见怎么恢复文件
- 分布式体系结构:非集中式结构
热门文章
- 国内著名声学期刊简介
- 斗鱼封禁主播陈一发,新媒体有出路吗?
- 【软件使用】Macbook M1 QuickTime录屏讲解(只录电脑或者同时录电脑和麦克风人声)
- 计算机平均值的快捷键,Excel用快捷键和选项求平均值,且能一次对多行多列批量快速求平均值...
- 企业微信没有50名员工可以扩容吗?客户数达到上限会怎样?
- 未来行业发展趋势分析
- 青龙面板除了JD的另外玩法 跑跑 能赚Q和省Q的“果冻宝盒”
- Movidius神经计算棒初体验
- 工程师的爱情故事之1:大发明家
- 2020级训练赛10.23