bp神经网络笔记

在了解神经网络之前我们需要对感知机进行一个初步的了解。

首先感知机是作为神经网络(深度学习) 的起源的算法。

而感知机的具体作用是感知机接收多个输入信号, 输出一个信号。

信号简单来说就是一个值。

我们把其中一个步骤单独提取出来可以得到下图

 再这个图中。我们可以理解未

x1、 是输入信号,y 是输出信号, w 是权重, weighted sum是“神经元” 或者叫节点,输入信号被送往神经元时, 会被分别乘以固定的权重,也叫加权 求和,神经元会计算传送过来的信号的总和。

 在了解了感知机后我们开始进行bp神经网络的学习。

首先我们要了解什么是bp神经网络,

bp神经网络是神经网络中最为重要的一种。

BP(BackPropagation) 算法是神经网络深度学习中最重要的算法之一,是一种按照误 差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一 。了 解BP算法可以让我们更理解神经网络深度学习模型训练的本质,属于内功修行的部 分。

神经网络的传播具体

BP算法的核心思想是:学习过程由信号的正向传播和误差的反向传播两个过程组成。
 

 他们的具体含义如下

正向传播:输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层 神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息, 实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含 层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。

反向传播:当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向 传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并 依次向隐含层、输入层传播。通过不断的信息正向传播和误差反向传播,各层权值会 不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先 设定的学习迭代次数时,训练结束,BP神经网络完成学习。

在了解基础概念后

我们来推到bp神经网络

具体流程图如下 

 

 

        下图第一层输入,第二次隐含层,第三层输出层,最后一行为偏置项(控制感知机可激活容易程度)。如果隐含层神经元过少可能不收敛,过多造成浪费计算资源和时间且普适性降低。

        隐含层神经元可通过输入与输出和的开方加1-9其中一个整数计算得出,最后加的数字有相关算法。

        第二层与第三层感知机的激活函数一般用sigmoid函数( 1 /(1+ e^( -x )  ) ),让极端数据变得普通并且不改变多个值的大小关系。

推到流程

隐含层与输出层都相当于一层感知机,每个神经元都有自己的输入,经过各自权重和后的net以及经过激活函数计算后的out。


 

推到过程中对 过程进行了一定的简化

具体我参考了b站视频BP神经网络原理及编程实现_哔哩哔哩_bilibili

 反向传播;

 隐含层---->输出层的权值更新:

 

 

 隐含层---->隐含层的权值更新:

方法其实与上面说的差不多,但是有个地方需要变一下,在上文计算总误差对 w5的偏导时,是从out(o1)---->net(o1)---->w5,但是在隐含层之间的权值更新 时,是out(h1)---->net(h1)---->w1,而out(h1)会接受E(o1)和E(o2)两个地方传来的 误差,所以这个地方两个都要计算。

 

 具体推导流程如上

总结:

利用输出后的误差来估计输出层前一层的误差,再用这层误差来估计更前一层误差,如此获取所有各层误差估计。这里的误差估计可以理解为某种偏导数,我们就是根据这种偏导数来调整各层的连接权值,再用调整后的连接权值重新计算输出误差。直到输出的误差达到符合的要求或者迭代次数溢出设定值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值