BP神经网络概述

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 更新网络连接权值wij wjk
    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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值