zoukankan      html  css  js  c++  java
  • BP神经网络

    BP神经网络是一种按误差反向传播(简称误差反传)训练的多层前馈网络,其算法称为BP算法,它的基本思想是梯度下降法。

    BP神经网络的网络结构:

    通常有n个输入,m个输出,中间有若干个隐藏层,具体如下图所示:

     

    BP神经网络的计算过程:

    工作信号正向传递过程(前向传播):

    四个步骤:

    1、输入层的每个节点,都要与的隐藏层每个节点做点对点的计算,计算的方法是加权求和+激活

    2、利用隐藏层计算出的每个值,再用相同的方法,和输出层进行计算。

    3、隐藏层用都是用Sigmoid作激活函数,而输出层用的是Purelin。这是因为Purelin可以保持之前任意范围的数值缩放,便于和样本值作比较,而Sigmoid的数值范围只能在0~1之间。

    4、起初输入层的数值通过网络计算分别传播到隐藏层,再以相同的方式传播到输出层,最终的输出值和样本值作比较,计算出误差,这个过程叫前向传播(Forward Propagation)。

    误差信号反向传递过程

    BP算法是一种计算偏导数的有效方法,它的基本原理是:

    5、利用前向传播最后输出的结果来计算误差的偏导数(前向传播后求偏导),

    6、再用这个偏导数和前面的隐藏层进行加权求和

    7、如此一层一层的向后传下去(隐藏层间偏导加权求和)

    8、直到输入层(不计算输入层)(也就是第一隐藏层到输入层的偏导加权求和)

    9、最后利用每个节点求出的偏导数来更新权重。

    过程如下:

    该部分参考自博客:https://blog.csdn.net/lyl771857509/article/details/78990215

    上面的图片过程详细介绍了BP神经网络是怎样工作的。

    BP神经网络的缺陷:

    ①学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。

    ②容易陷入局部极小值。

    ③网络层数、神经元个数的选择没有相应的理论指导。

    ④网络推广能力有限。

     参考博客:https://blog.csdn.net/lyl771857509/article/details/78990215

  • 相关阅读:
    Shiro学习(一)总体介绍
    Spring-MVC理解之一:应用上下文webApplicationContext
    现代软件工程 第十四章 【质量保障】 练习与讨论
    rtsp 流媒体服务器,播放器
    ios app 打包
    xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH ​
    Bootstrap日期和时间表单组件
    微信小程序组件action-sheet
    微信小程序组件radio
    微信小程序组件slider
  • 原文地址:https://www.cnblogs.com/r0825/p/9725105.html
Copyright © 2011-2022 走看看