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

      BP神经网络是包含多个隐含层的网络,具备处理线性不可分问题的能力。

      20世纪80年代中期,Rumelhart,McClelland等成立了Parallel Distributed Procession(PDP)小组,提出了著名的误差反向传播算法(Error Back Propagtion,BP)。

      BP和径向基网络属于多层前向神经网络。广泛应用于分类识别、逼近、回归、压缩等领域。

      BP神经网络一般是多层的,隐层可以是一层或多层。BP神经网络具有如下特点:

      (1)网络由多层构成,层与层之间全连接,同一层之间的神经元无连接。

      (2)BP网络的传递函数必须可微。所以感知器的二值函数不能用,一般采用Sigmoid函数,可分为Log-Sigmoid和Tan-Sigmoid函数。

                            

         其中x的范围包含整个实数域,函数值再0~1之间。具体应用时可以增加参数,以控制曲线的位置和形状。

      sigmoid函数可以将输入从负无穷到正无穷的范围映射到(-1,1)和(0,1)之间,具有非线性放大功能。

      (3)采用误差反向传播算法(Back-Propagation)进行学习。再BP网络中,数据从输入层经隐含层逐层向后传播,训练网络权值时,则沿着减少误差的方向,从输出层经过中间各层逐层向前修正网络连接权值。

          (与反馈神经网络不同,BP是误差信号反向传播,网络根据误差从后向前逐层进行修正)

    二、BP网络的学习算法

      BP网络的学习属于有监督学习,需要一组已知目标输出的学习样本集。

      最速下降法:

      又称为梯度下降法,是一种可微函数的最优化算法。

      LMS算法即最小均方误差算法,又称Δ规则或Windrow-Hoff LMS算法。

      LMS算法体现了纠错规则,与最速下降法本质没有差别。最速下降法可以求某指标(目标函数)的极小值,若将目标函数取为均方误差,就得到了LMS算法。

      最速下降BP法:

      调整规则可以总结为:

      权值调整量Δω=学习率η*局部梯度δ*上一层输出信号v。

      推荐使用feedforwardnet(hiddenSizes,trainFcn);

      训练函数trainFcn 默认hrainlm (traingdm是带动量的梯度下降法,trainlm是指L-M优化算法,trainscg是指量化共轭梯度法,除此之外还有traingdx、traingda等,都是权值的训练算法。看MATLAB结合神经网络的基础书上都有介绍。
                      tansig和logsig  统称Sigmoid函数,logsig是单极性S函数,tansig是双极性S函数,也叫双曲正切函数,purelin是线性函数,是节点的传输函数。)

  • 相关阅读:
    php——验证身份证是否合法的函数
    php——离线执行任务
    代码整洁之道
    js自适应屏幕高度
    SSH Junit4测试
    Java Persistence with Hibernate
    SSH搭建
    js整理
    Hibernate 应用
    对学习的一点感想
  • 原文地址:https://www.cnblogs.com/eclipSycn/p/6067360.html
Copyright © 2011-2022 走看看