BP神经网络

BP神经网络

1.基本概念

BP (Back Propagation) 神经网络是1986年由 Rumelhart 和 McClelland 为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。

2.BP神经感知器网络

感知器(Perceptron)网络是早期仿生学研究的成果,在1950s由 Frank Rosenblatt 第一次引入,是一种神经网络模型。
感知器即当输入的活动超过一定的内部阈值时,神经元被激活,当输入具有一定的特点时,出发速率也增加。
在这里插入图片描述
输入节点:x1,x2,x3…
权重:w1,w2,w3…
偏置:b
激活函数:f
输出节点:output

3.BP神经网络的组成结构和传递规则

BP神经网络是一种典型的非线性算法。

BP神经网络由 输入层、隐含层(也称中间层)和 输出层 构成 ,其中隐含层有一层或者多层。每一层可以有若干个节点。层与层之间节点的连接状态通过 权重 来体现。

只有一个隐含层:传统的浅层神经网络;有多个隐含层:深度学习的神经网络。
在这里插入图片描述
*此图为含多个隐含层的神经网络

4.BP神经网络的核心步骤

在这里插入图片描述
*实线表示正向传播
*虚线表示逆向传播

正向传播:
从输入样本开始,将输入数据乘以权重得到输出。每一个节点的输出数据将作为下一个节点的输入数据,不断进行推进得到最终输出结果。
逆向传播:
每一次正向传播得到的输出结果与期望结果进行误差比较。若误差小于比较参数,就达到预期结果,则结束循环;若误差大于比较参数,则利用梯度下降方法得到新的权重(从输出层到各个隐藏层到输入层,依次更新权值),返回输入初始数据,重新开始迭代。

5.更新权重和偏置的方法以及公式推导

此处神经网络的激活函数统一用sigmoid函数
加粗样式在这里插入图片描述
更新权重和偏置还是利用梯度下降的算法

在这里插入图片描述
注:f(x)表示算出的值,y为期望达到的值,n为样本个数

  • 首先利用损失函数求出误差
  • 再通过梯度下降算法更新上一层所有神经元的权重和偏置,直到输入层为止。
实例演示:

在这里插入图片描述

  • 对激活函数求导得
    在这里插入图片描述

  • 不妨设实际输出为y1和y2,这里使用最小均方误差表示:
    在这里插入图片描述

  • 在这里插入图片描述
    l表示l-1层传到l层的权重,i表示l-1层所对应的神经元,j表示l层的神经元;b{l}:l表示l-1层传到l层的偏置项;I_{k}{l}第l层尚未使用激活函数的第k个神经元;O_{k}^{l}第l层已使用激活函数的第k个神经元;n_{l}第l层神经元的个数。以第l层传到第l+1层为例:
    在这里插入图片描述
    在这里插入图片描述

  • 使用梯度下降法更新参数
    在这里插入图片描述
    对偏置项b^{l},更新公式为:
    在这里插入图片描述
    由梯度下降法的公式可以看出实际就是求出最小均方误差对参数的偏导。这里以在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    为例。


  1. 在这里插入图片描述
    只跟第5层神经网络的第1个神经元有关,既有:
    在这里插入图片描述
    由链式求导法则得:
    在这里插入图片描述

    在这里插入图片描述
    跟第5层的所有神经元有关,跟第4层第1个神经元有关,既有:
    在这里插入图片描述
    由链式求导法则得:
    在这里插入图片描述
    对上式中E对
    在这里插入图片描述
    的偏导这里单独进行讨论,在这里插入图片描述
    又因为:在这里插入图片描述
    故:在这里插入图片描述

    在这里插入图片描述
    跟第3层的第1个神经元,第4层所有神经元有关,第5层第所有神经元有关,既有:在这里插入图片描述

由链式求导法则得:在这里插入图片描述
对上式中E对O_{1}^{3}的偏导这里单独进行讨论
在这里插入图片描述
又因为:在这里插入图片描述
故:在这里插入图片描述
公式太长了,这里就推到由第2层到第3层的参数W_{11}^{3}。
规律总结:
对输出层即第5层:在这里插入图片描述
对第4层:在这里插入图片描述
对第3层:在这里插入图片描述
同理可得对第2层 :在这里插入图片描述
综上可得:
对输出层有:在这里插入图片描述
对非输出层有:在这里插入图片描述
所以权重更新公式为:在这里插入图片描述
同理可得偏置项的更新公式为:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值