
高宁1,张建中2
(1.安徽农业大学信息与计算机学院,安徽合肥230036;2.安徽建筑工业学院电子与信息工程学院,安徽合肥230022)摘要:本文介绍了RBF 神经网络的基本原理及主要特点,并举例说明了基于MATLAB 神经网络工具箱建立RBF 神经网络模型及实现仿真的方法。
关键词:仿真;MATLAB 神经网络工具箱;RBF 神经网络中图分类号:TP399
文献标识码:A
文章编码:1672-6251(2009)02-0110-02
Application of RBF neural network model based on MATLAB
GAO Ning 1,ZHANG Jan-zhong 2
(1.College of Information and computer,Anhui Agriculture University,Hefei 230036,China;2.College of Electronics and Information Enginner,Anhui Architecture University,Hefei 230022,China)
Abstract:In this paper,the principle and characteristic of RBF neural network are explained,and the method of building and simulating RBF neural network model is introduced.
Key words:Simulation;MATLAB neural network toolbox;RBF neural network
人工神经网络具有大规模并行处理能力、分布式存储能力、自适应(学习)能力等特征,神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法的缺陷,已广泛应用于模式识别、信号处理等各种应用领域。MATLAB 集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,应用MATLAB 语言构造典型神经网络的激活传递函数,编写各种网络设计与训练的子程序,网络设计者可以根据需要调用工具箱中有关神经网络的设计训练的函数,从繁琐的编程中解脱出来。本文主要介绍基于MATLAB 神经网络工具箱实现RBF 神经网络模型及其应用。
1RBF 神经网络简介
径向基函数(Radial Basis Funtion ,RBF )神经网络由三层组成,包括输入层、隐含层和输出层,隐含层的神经元数目由具体问题的情况而定。如图1.1所示。输入层节点只传递输入信号到隐层,隐层节点由象高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数。
隐含层节点中的作用函数(基函数)对输入信号
在局部产生响应,也就是说,当输入信号靠近基函数的范围时,隐含层节点将产生较大的输出。由此可看出这种网络具有局部逼近能力,所以径向基函数网络也称为局部感知场网络。
RBF 神经网络是一种典型的局部逼近神经网络,对于每个输入输出数据对,只有少量权值需要调整,从而使局部逼近网络具有学习速度快的优点,这点对于控制来说至关重要。理论上已经证明,只要隐含层神经元的数量足够多,RBF 网络能以任意精度逼近任何单值连续函数。
图1RBF 神经网络结构
RBF 神经网络是一种性能良好的前向神经网络,具有收敛速度快、网络结构简单、逼近性能良好、不存在局部极小等优点。
收稿日期:2008-12-09;修回日期:2008-12-12
基金项目:安徽省教育厅青年教师科研资助项目2004jql50作者简介:高宁(1978-),女,硕士,讲师,研究方向:计算机网络、计算机仿真等方面的研究
。
MATLAB的RBF网络工具箱中包含了进行RBF 网络分析和设计的许多函数,这里介绍几个常用的函数。
(1)newrbe()。该函数可以快速构建一个径向基函数网络,且使得设计误差为0,该函数使径向基层神经元数目等于输入向量的个数。格式为net=newrbe (P,T,SPREAD),其中P为输入向量,T为期望输出向量(目标值),SPREAD为径向基层的散步常数,缺省值为1。
(2)newrb()。newrb()能更有效进行网络设计,径向基函数网络逼近函数时,newrb()函数可以自动增加网络的隐含层神经元数目,直到均方差满足精度或者神经元数目达到最大为止。格式为net= newrb(P,T,GOAL,SPREAD,MN,DF),其中P,T, SPREAD变量的意义同newrbe()函数,GOAL为训练精度,缺省值为0,MN为神经元个数的最大值,DF 为训练过程的显示频率。
(3)radbas。径向基传递函数。此函数可由它的网络输入计算神经元的输出。
(4)sim()。神经网络仿真函数。格式为Y=sim (net,P)。其中net为神经网络对象,P为网络输入,Y 为网络输出。
3径向基函数网络的设计及应用
径向基函数网络多用于函数逼近和分类问题的研究。函数逼近的目的就是找到一个函数能够满足一组输入/输出数据之间的关系,其中一个方法就是通过构建径向基函数网络来进行曲线拟合。
现通过一个实例来说明径向基函数网络在函数逼近上的应用。
设需要拟合的输入、输出数据为:
p=-1:.1:1
t=[-0.9602-0.577-0.07290.37710.050.66 0.4609...
0.1336-0.2013-0.4344-0.5-0.393-0.17 0.0988...
0.30720.3960.34490.1816-0.0312-0.21-0.3201]
其中p为输入样本,t为输出样本。
3.1网络模型的建立
%初始化网络的训练参数,误差值为0.0001,散步常数为1,显示频率为1,隐含层的最大神经元数为20
spread=1
goal=1e-4
df=1
mn=20
%建立网络模型
net=newrb(p,t,goal,spread,mn,df)
训练过程中newrb()函数每次循环只产生一个神经元,而每增加一个径向基神经元都能最大程度的降低误差,如果未达到精度要求则继续增加神经元。满足精度要求后网络设计成功。程序终止的条件是满足精度要求或达到最大神经元数目。
从图2RBF网络训练的均方差与训练步数之间的关系可以看出,RBF网络训练需要8步即达到了训练的精度要求。
图2RBF网络训练均方差与训练步数关系
3.2RBF网络测试
RBF神经网络训练完成后,将网络输出合期望值随输入变化的曲线绘制在一张图上,可以看出网络设置是否能够做到函数逼近。
完成上述目标的代码为:
plot(p,t,'o')
hold on
x=-1:.01:1
y=sim(net,x)
plot(x,y)
x,y分别为验证数据的输入样本合网络输出。实际样本数据和网络输出如图3所示,图中“o“号表示实际样本数据,实线为网络预测值。可以看出应用径向基函数网络进行函数逼近效果很好。
4结论
基于MATLAB实现RBF网络的模型,解决了传统方法对非线性预测精度不高和复杂建模的问题。
在
(下转第116页)
(上接第111页)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
构建径向基函数网络时,SPREAD 的设置是一个关键问题,需要对网络模型进行多次训练以选取使网络达到最佳性能的散步常数。
RBF 网络模型预测精度高,学习速度快,将其应
用于生产生活中的具体非线性问题的预测中,是一种值得推广的方法。
参考文献
[1]董长虹.MATLAB 神经网络与应用[M].北京:国防工业出版社,2005.
[2]楼顺天,施阳.基于MATLAB 的系统分析与设计[M].北京:西安
电子科技大学出版社,2000.
[3]闻新,等.MATLAB 神经网络应用设计[M].北京:科学出版社,2000.
[4]高宁.基于MATLAB 的BP 神经网络在农作物虫情预测预报中
的应用[J].计算机与农业,2003,(7):16~18.
[5]刘荻,周振民.RBF 神经网络在径流预报中的应用[J].华北水利
水电学院学报,2007,28(2):12~14.
图3
网络输出和目标值比较
次测量,到达规定的次数时,进行平均值的计算,显示。
S3:测量结果无效,按下此键后,上次测量存储在暂存器中的数据无效,不予存储,程序进行下次的测量。
S4:结束键,此键在完成测量或不再测量时按下,结束程序。
1.6显示模块MAX7219
MAX7219是MAXIM 公司生产的一种串行输入/输
出共阴极显示驱动器,用来把微处理器接到8位7段数字LED 显示器。一个3线SPI 串行接口可连接各种通用单片机。各位数字可被寻址和更新,而无需重写整个8位数字。
2系统软件设计
根据硬件电路图的连接和系统功能的要求,软件
必须完成以下功能,控制A/D 转换电路读入测量结果,控制MAX7219实现显示功能,完成堵粮判定,并通过控制高低电平的输出,实现报警控制,读键盘完成人机交流,并且实现平均值计算。主要包括:主程序,结果测量读入程序,显示程序,延时程序,
7219初始化程序,平均值计算程序。主程序主要完成系统初始化,读键盘,判断,调用程序模块,循环过程等操作,是整个软件的大体骨架。它的主要功能是对单片机状态参量,寄存器的初始化和程序自定义状态参量进行初始化,并且调用子程序流程等功能,提
供子程序入口地址,以完善系统功能。测量程序是启动ADC0809,将电容传感器测量的模拟量转换为单片机识别的数字量,并暂时存入寄存器中,为单片机处理和进行下一步操作提供数据和依据。显示程序是通过控制8位LED 显示器的MAX7219集成芯片完成,实现人机交流。
3结论与讨论
整个系统设计对提高工作效率,减轻劳动强度,
节省人力,实现粮库管理自动化具有重要意义。但是就目前实际情况来看,电容式粮食水分检测的影响因素较多,测量精度不理想,建立一个规范的数学模型是很难的。传统的只考虑输出电压(电容值)来确定水分值的方法尚需完善,数据处理方法也比较单一简陋。近年来,由于人工智能及数据融合技术的发展,为水分检测技术数据的综合处理提供了新的方法,已取得了一些可喜的成果,所以,只有全面考虑各个因素的影响,采用先进的数据处理方法,才能提高粮食水分的检测精度。
参考文献
[1]单成祥.传感器的理论与设计基础及应用[M].北京:国防工业出
版社,1999.
[2]汪延祥.具有自定标功能的粮食水分测定仪[J].分析仪器,1996,(2):25~29.
[3]杜民.水分测定仪的综合研究及评述[J].中国仪器仪表,1997.
