BP神经网络的MATLAB编程实现及讨论.pdf
《BP神经网络的MATLAB编程实现及讨论.pdf》由会员分享,可在线阅读,更多相关《BP神经网络的MATLAB编程实现及讨论.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、浙江交通职业技术学院学报,第 8 卷第4 期,2 0 0 7 年 1 2 月 J o u r n a l o f Z h e j i a n gI n s t i t u t e o f C o m m u n i c a ti o n s Vo 1 8 N o 4,De c 2 O O 7 0 引言 B P神经网络的 MA T L A B编程实现及讨论 余 晓红(杭州职业技术学院 信息电子工程系,浙江 杭州3 1 0 0 1 8)摘要:B P神经网络具有很强的非线性函数逼近能力。通过 M a t l a b编程实现 了 B P 网络对一个二元函数的逼近,针对 B P网络学习速度慢的缺点,采用
2、含动量项的学 习算法提高了收敛速度。通过M a t la b 仿真方法,研究了学习率和动量因子对算法学 习速度的影响。关键词:神经网络;B P网络;M a t la b;学习算法 中图分类号:T P 3 8 9 1;T P 3 1 1 5 2 文献标识码:A 文章编号:1 6 7 1 2 3 4 X(2 o O 7)0 4 0 0 4 5 04 人工神经网络(A N N)是由许多神经元按照一 定规则互联而成的自适应系统,它模拟生物神经系 统的结构和功能,具有信息的分布存储、并行处理 以及自 学能力等优点。从神经网络的基本模式看,主要有前馈型、反馈型、自组织型及随机型神经网 络 1 l。B P网
3、络是一种多层前馈神经网络,因采用误 差反向传播的学习算法而得名。B P网络是目前最 成熟、应用最广泛的一种神经网络,在信息处理、模式识别、智能控制等诸多领域得到越来越广泛的 应用。B P 网络存在收敛速度慢、训练时间长等缺点,在实际应用中,网络结构的选择和学习算法的改进 对 B P网络性能有很大 的影响【2-3 J。通过 M a t l a b编 程实现了 B P 神经网络对一个二元函数的逼近,通 过仿真探讨 B P神经网络的结构及学习算法中不同 参数对学习速度的影响,得出一些有益的结论。1 B P网络原理 B P 神经网络由多个网络层构成,通常包括一 个输入层、若干个中间层和一个输出层。B
4、P网络 的特点是:各层神经元仅与相邻层神经元之间有连 接;各层内神经元之间没有任何连接;各层神经元 之间也没有反馈连接。B P网络具有很强的非线性 映射能力,根据 K o lr n o g o r o v 定理,一个 3 层 B P 神 经网络能够实现对任意非线性函数进行逼近。一个 典型的3 层 B P 神经网络模型如图1 所示。y 1 y 输出层 r 问层 输 入层 图 1 典型的三层 B P神经网络结构 收稿日期:2 0 0 7 0 7 2 2 作者简介:余晓红(1 9 6 9 一),女,浙江永康人,讲师,Em a il-l h z v-t c e d u c n 维普资讯 http:/
5、浙江交通职业技术学院学报 设 B P网络的输入层、中间层和输出层分别有 M、N J 和N K个神经元。中间层第 j 个神经元的输 入为:n e ti=w o o f;=1,2,N J(1)式中,tt,为输入层中第 i 个神经元到中间层第 个神经元的权值;o f 为输入层中第 i 个神经元的 输出。输出层第 k 个神经元的输入为:J n e t =u b o ;k=1,2,(2)式中,t t,为中间层中第 个神经元到输出层第 k 个神经元的权值;o i 为中间层中第 k 个神经元的 输出。输入层、中间层和输出层的输出分别为:O f=n e t f X i (3)Y k。(n et,O k)南。(
6、5)式中,和O k 分别为中间层第 个神经元和输 出层第k 个神经元的阈值。B P 网络的训练采用基于梯度法的 6 学习律,其目标是使网络输出与训练样本的均方误差最小。lJ 练样本为 P个,其 中输入向量为 x ,X 2,x p;输出向量为 Y ,y 2,y P;相应的教师值(样本)向量为 t,t P。则第 P个样本的均 方误差为:=(一 )(6)-=1 式中,和 分别为第 k个输出神经元第P 个样本的教师值和实际输出值。输出层的权值调整为:(n+1)=+(n)(7)=(一 )f k(n e e)(8)式中,7 7 为学习率;a为动量因子。中间层的权值调整为:3 w q(+1)=So?+a w
7、 0 ()(9)-f i(n e e)”(1 0)阈值的调整与权值相类似,不再赘述。2 B P网络的 M a t l a b编程实现 M a t l a b是 M a t h Wo r k s 公司开发的一种科技应用 软件,集数学计算、科学计算、工程绘图和建模仿 真于一体,应用十分广泛【4】。虽然在 M a tl a b中有 神经网络工具箱,但通过编程实现 B P神经网络对 于深刻理解其实质很有帮助。以一个二元函数的逼 近为例,通过 M a fl a b 编程实现了 B P网络,并讨论 算法参数对学习速度的影响。设要求逼近的函数为 Y=(j+;)2,其中 l、X 2 一 1,1 。网络采用 2
8、 5 1 结构,即输入层 2 个节点,隐层 5 个节点,输出层 1 个节 点。输出层的和中间层采用标准 S ig m o id函数 fj(n e 0,。实现流程如图 2所示,具体步骤如下。初始化。权值和阈值取随机数;确定学习率 和动量因子;设定学习误差准则。设置样本。将 I、2 在给定范围内均匀 l O 等分,产生 1 2 1 个训练样本。前向传播:根据式(1)一(5)计算各层输 出。后向传播:根据式(8)和式(1 O)计算各 层误差。根据式(7)和式(9)调整权值和阈值。全部样本是否都已训练?若否,则返回步骤 进行下一样本训练。计算总性能指标。全部样本的误差函数为 P =。判断性能指标 是否
9、满足要求:p=1 E r r S t d,e p o c h M A X T I I d E S)f o r P 1:P 取样本 x t=x te a c h l(P);x t e a c h 2(P);y t=y t e a c h(P);计算各层输出:前向传播 O1=x t;n e t j=w i j *o i:o j=1 (1+e x p(一 n e t k=w j k *o j:o k=1 (1+e x p(一 (n e t j t h e t a j);(n e t kt h e t a k);维普资讯 http:/ 第4 期 余晓红:B P 神经网络的 M A T I A B 编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 MATLAB 编程 实现 讨论
限制150内