BP神经网络概述

来源:互联网 发布:sql中update的用法 编辑:程序博客网 时间:2024/06/10 15:21

BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号的向前传递,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经网络状态只影响下一层的神经元的状态。如果输出层得不到想要的输出,则转入反向传播,根据预测误差调整网络的权值和阀值,从而使BP神经网络预测输出不断的逼近期望输出。BP神经网络的拓扑结构如图:
!

图中,X1,X2...是BP神经网络的输入值,Y1,Y2...是BP神经网络的预测值,ωij,ωjk是神经网络的权值。从图中可以看出,BP神经网络可以看作一个非线性函数,网络输入值和预测值分别是该函数的自变量和因变量。当输入节点数为n,输出接点为m时,BP神经网络就表达了从n个自变量到m个自变量的函数映射关系。

BP神经网络预测首先要训练网络,通过训练使网络具有联想记忆和预测能力。BP神经网络的训练过程包括如下的步骤:

  1. 网络初始化。根据系统输入输出序列X,Y确定网络输入层节点数n,隐含层节点数l,输出层节点数m,初始化输入层,隐含层和输出层神经元之间的连接权值ωijωjk,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。
  2. 隐含层输出计算。 根据输入向量X,输入层和隐含层间的连接权值ωij以及隐含层阈值a,计算隐含层输出H
    Hj=f(i=1nωijxiaj)j=1,2,...l

    式中,l为隐含层节点数;f为隐含层激励函数,该函数有多种表达形式,比如:
    f(x)=11+ex
  3. 输出层输出计算。根据隐含层输出H,连接权值ωjk和阈值b,计算BP神经网络预测输出O
    Ok=j=1lHjωijbkk=1,2,...,m
  4. 误差计算。根据网络预测输出O和期望输出Y,计算网络预测树杈e。
    ek=YkOkk=1,2,...,m
  5. 权值更新。根据网络预测误差e更新网络连接权值wijwjk
    wij=wij+ηHj(1Hj)x(i)k=1mωjkeki=1,2,...,n;j=1,2,...,l;
    ωjk=ωjk+ηHjekj=1,2,...,l;k=1,2,...,m;
    式中η为学习速率。
  6. 阈值更新。根据网络预测误差e更新网络节点的阈值ab
    aj=aj+ηHj(1Hj)k=1mωjkekj=1,2,...,l
    bk=bk+ekk=1,2,...m
  7. 迭代。判断算法迭代是否结束,若没有结束,返回步骤2.
0 0
原创粉丝点击