啊啊啊啊啊啊啊啊啊只是作业啊啊啊啊啊啊,写的西撇
参考:
版权声明:本文为CSDN博主「-麦_子-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014182497/article/details/70226056
文章目录
概述
BP神经网络是一种多层前馈神经网络,特点是:信号向前传播,误差反向传播。通俗理解就是,BP神经网络通过层与层向前传播,得到最终实际输出后,与期望输出做对比,通过“梯度下降”策略,逐层调节权重和阈值,最终得到与期望输出在误差允许范围内的神经网络模型。
一.基础知识
1.1 M-P神经元模型
是输入的原始数据,
是权重(权重决定
数据在输出被处理过程中的占比程度——对应公式
,
就是个系数,第一回自定)
是神经元的激活阈值,函数被称为激活函数。(ps.激活函数咋选深度学习必备小知识之激活函数的区别_running鸿的博客-CSDN博客_激活函数区别)
函数可以用一个阶跃方程表示,大于阈值激活,否则则抑制。理想中的激活函数阶跃函数,然而阶跃函数具有不连续、不光滑等不好的性质,因此我们更常用的方法是用sigmoid函数来表示。
1.2 多层网络与感知机
神经网络由三部分组成,分别是输入层(i)、隐藏层(h)和输出层(o),其中输入层与输出层只有一层,而隐藏层则可以是多层的(隐藏层节点数:)。每一层都有一定数量的神经元,不同层之间的神经元用线连接起来,每条线都有一定的权重
。
如图第一层为输入层,最后一层为输出层,第2到层都为隐藏层,图中只画了一层隐藏层。其中的+1,为偏置。
、
..
为输入单个样本的输入。
表示从第
层的第
个神经元指向第
层的第
个神经元的线的权重。
表示第l层第j个神经元的偏置。
表示第
层神经元到第
层的第
个神经元的加权和。
表示第l层的第j个神经元的加权和
经过激活函数计算后得到该神经元的输出值。除了输入层,其他层的神经元都会有一个前一层神经元的加权和
作为激活函数的输入,然后得到输出
。
1.3BP神经网络
利用输出后的误差来估计输出层前一层的误差,如此获取所有各层误差估计。这里的误差估计可以理解为某种偏导数,我们就是根据这种偏导数来调整各层的连接权值,再用调整后的连接权值重新计算输出误差。直到输出的误差达到符合的要求或者迭代次数溢出设定值。
BP利用处处可导的激活函数来描述该层输入与该层输出的关系,常用S型函数δ来当作激活函数。
BP神经网络学习算法流程大致如下:
1、正向传播得到输出层误差e
=>输入层输入样本=>各隐藏层=>输出层
2、判断是否反向传播
=>若输出层误差与期望不符=>反向传播
3、误差反向传播
=>误差在各层显示=>修正各层单元的权值,直到误差减少到可接受程度
二.浅推一下