1、Computer Era No.11 20230 引言神经网络的高级编程语言包括 MATLAB 以及Python等。使用这些语言编程,有时候并不需要真正掌握神经网络的算法,因为这些语言已包括了很多模块供用户使用。使用此类高级编程语言的缺点是,应用程序常常需要安装相关软件包,因此占用较大的计算机存储空间。我们需要从基础编程软件入手详细了解神经网络编程的各个环节,这样有助于具体的应用开发并为软件设计带来灵活性。本文从常见的基础编程软件VB 6.0开发RBF(径向基函数)神经网络1-2软件的基本原理出发,简要介绍编程过程,并针对RBF神经网络和BP神经网络在函数逼近方面的性能等进行分析,比较和适当总
2、结。目前国内已有使用VB进行BP(反向误差传播)神经网络编程成功的先例3。通过查询国内论文发现,几乎没有使用VB语言来编写RBF神经网络的例子,这也是本文选题的驱动力之一。1 RBF神经网络的基本原理RBF神经网络是一个三层的具有任意逼近非线性能力的神经网络,其包括输入层、隐含层和输出层。其中,输入层到隐含层为非线性,而隐含层到输出层为线性即径向基函数的输出与权值乘积求和,必要时还加上偏置值。RBF神经网络的径向基函数中心、宽度、隐层数、权值可调。常见的径向基函数为高斯函数,如式所示:DOI:10.16644/33-1094/tp.2023.11.015基于VB的RBF神经网络编程及验证陈鹏(
3、福建省工业信息产业发展研究中心,福建 福州 350003)摘要:简要介绍了RBF(径向基函数)神经网络的基本原理和编程过程,通过函数逼近的例子以及与BP(误差反向传播)神经网络的函数逼近比较分析,说明RBF神经网络的泛化能力要优于BP神经网络,能够更快、更准确地逼近函数;同时也说明RBF神经网络相对BP神经网络需要更复杂的网络结构来保证相同精度。试验结果证实了用VB开发的RBF神经网络软件正确、可用。关键词:RBF神经网络;VB;函数逼近;BP神经网络中图分类号:TP311.1文献标识码:A文章编号:1006-8228(2023)11-76-03Programming and verifica
4、tion of RBF neural network with VBChen Peng(Fujian Provincial Industrial and Information Industry Development Research Center,Fuzhou,Fujian 350003,China)Abstract:In this paper,the principle of RBF neural network and its programming are briefly introduced.Through the examples offunction approximation
5、 and comparison with BP neural network,it is shown that RBF neural networks have better generalizationability than BP neural networks and can approach functions faster and more accurately.However,compared to BP neural networks,RBF neural networks require a more complex network structure to ensure th
6、e same accuracy.The experimental results confirm thatthe RBF neural network software developed by VB is correct and usable.Key words:radial basis function(RBF)neural network;Visual Basic(VB);function approximation;back propagation(BP)neuralnetwork收稿日期:2023-07-07作者简介:陈鹏(1975-),男,福建福清人,硕士,工程师,主要研究方向:单
7、片机应用、神经网络、无损探测、自动化制造及机器故障诊断。76计算机时代 2023年 第11期fi(x)=exp()-pi-ci22i其中,ci为第i个基函数中心,pi为样本数据的对应输入值,i为第i个对应基函数宽度,.为欧式距离。这里i可以根据式计算得到:i=dmax2M其中,dmax为基函数中心之间的最大距离,M为隐含层节点数目。2 RBF神经网络的编程本文论述开发的RBF神经网络软件名称为RBFKit,界面如图1所示。图1RBFKit软件界面用户首先需要在文本文件上定义输入输出的样本组数和待测试数据的组数。同时用户还必须定义网络的输入层节点数、隐含层节点数和输出层节点数。另外,用户还要定义
8、循环次数和精度要求以及在软件界面定义训练的学习率和动量因子参数。在数据格式正确的情况下,由用户决定输入样本数据的先后次序并存于输入文本文件。程序导入数据后归一化数据并按照隐含层节点数的大小随机从输入样本中选取若干数据点作为基函数中心初始值,然后按照k-means聚类法2,4-5计算基函数的真正中心点的值,当中心点的选取值在可接受的很小的误差范围内时就确定为最终值。然后,程序计算基函数的宽度。中心点和宽度确定后就可以计算基函数输出值。因为期望值在输入文本文件中已经给出;而基函数的输出值乘以相应的权值并求和就是相应输出层节点的反归一化前的预测值了,这样就可以计算两者的误差。从而可以用权值更新法2-
9、3来计算隐含层到输出层的权值。必须记住,最终的预测值要反归一化。当使用给定的学习率和动量因子进行学习满足循环次数或精度要求后训练就结束,相应的网络参数保存于生成的项目文件上。至此,用户可以在需要时手动改变项目文件中的测试数据的个数参数然后按格式提供相应的测试数据并按下“预测”就可生成相应的预测值文本文件。生成的预测值采用特定的数据格式保存方便用户同实际值进行比较并用EXCEL软件绘制曲线图。3 RBF神经网络与BP神经网络函数逼近的比较示例举一个函数逼近的例子如下:f(x1,x2,x3)=x1 x2x3取48组原始数据作为训练数据运行软件学习并用这48组数据中的输入样本数据作为测试数据来获得预
10、测值进行函数逼近,从图2可以发现满足精度条件的RBF神经网络在此示例上给出了很好的函数逼近效果,相比之下比单隐含层BP在相同精度要求0.01,相同的学习率0.01和相同的动量因子0.5情况下的函数逼近效果更好;而且,本示例的软件运行循环次数方面 RBF 神经网络运行只用了 2477 次,而 BP 神经网络(输出层激励函数为ReLU类型)则用了34798次。图2RBFKit和BPKit软件函数逼近比较图再举另外一个例子,如式(4)所示的函数的逼近,取125组原始数据作为训练数据并运行软件学习然后用这125组数据中的输入样本数据作为测试数据来获得预测值,逼近曲线如图3所示,其中RBF神经网络和BP
11、 神经网络的学习率均采用 0.008、动量因子采用0.5,精度要求为0.02。RBF神经网络迭代了439次后结束;BP神经网络则迭代了45992次后结束。77Computer Era No.11 2023Y=(1+X0.51+X-0.52+X-13)2图3RBFKit和BPKit软件对另一函数逼近比较图通过上述软件的良好运行和两个函数逼近示例获得的良好效果,证明了本RBF神经网络软件编程的正确性和可用性。示例说明RBF神经网络具有比BP神经网络更好的泛化能力,函数逼近效果更好,达到同等精度需要的循环次数更少。但是必须指出的是,要想达到同样的精度要求时RBF神经网络通常需要比BP神经网络更复杂的
12、结构。比如图2的函数逼近RBF神经网络用了48个隐含层节点,而BP神经网络只用了8个隐含层节点。4 结束语本文阐述了通过VB 6.0软件实现RBF神经网络的编程;同时,通过和BP神经网络在函数逼近的比较示例验证了该开发的 RBF 神经网络软件的正确性。该项研究较好地充实了作者编写的神经网络软件工具箱套件,包括 ART2Kit、BPKit、CPNKit、RBFKit和SOMKit共五种软件。本文论述开发的软件在深度学习软件的应用条件受限时(比如数据较少)仍有较好的选择应用价值,可具体用于预测、分类或函数逼近的场合。参考文献(References):1 Martin T.Hagan,Howard
13、B.Demuth,Mark HudsonBeale,et al.Neural Network Design ebook.https:/hagan.okstate.edu/nnd.html,2014.9.2 韩力群.人工神经网络理论、设计及应用M.第二版.北京:化学工业出版社,2007:164-172.3 陈鹏.基于VB的单隐含层BP神经网络编程及验证J.计算机时代,2018(5):41-43,48.4 赵林明,胡浩云,魏德华,等.多层前向人工神经网络M.郑州:黄河水利出版社,1999:91-94.5 哈林顿(Harrington,P.).机器学习实战M.北京:人民邮电出版社,2013:184-
14、199.floor tile in data centersC/2010 12th IEEE interso-cietyconferenceonthermalandthermomechanicalphenomena in electronic systems.IEEE,2010:1-10.5 Edeling W N,Cinnella P,Dwight R P,et al.Bayesianestimatesofparametervariabilityinthek-turbulence modelJ.Journal of Computational Physics,2014,258:73-94.6
15、SongZ,MurrayBT,SammakiaB.Airflowandtemperaturedistributionoptimizationindatacentersusing artificial neural networksJ.International Journalof Heat and Mass Transfer,2013,64:80-90.7 Tsukamoto H,Sogawa Y,Matsuda K,et al.High-speedSearchforOptimalOperationParametersofAirConditioningSysteminDataCenterbyU
16、singRegressionPredictionandDeepReinforcementLearningonCFDSimulationC/202160thAnnualConference of the Society of Instrument and ControlEngineers of Japan(SICE).IEEE,2021:105-112.8 Athavale J,Yoda M,Joshi Y.Comparison of data drivenmodelingapproachesfortemperaturepredictionindata centersJ.Internationa
17、l Journal of Heat and MassTransfer,2019,135:1039-1052.9 石桃桃.数据中心热环境快速预测及基于热点反演的空调送风温度优化控制研究D.上海:上海交通大学,2021.10 Abdelmaksoud W A,Khalifa H E,Dang T Q,et al.Improved CFD modeling of a small data center testcellC/2010 12th IEEE Intersociety Conference onThermalandThermomechanicalPhenomenainElectronic S
18、ystems.Las Vegas:IEEE,2010:1-9.11 Abdelmaksoud W A,Dang T Q,Khalifa H E,et al.PerforatedtilemodelsforimprovingdatacenterCFD simulationC/13th InterSociety Conference onThermalandThermomechanicalPhenomenainElectronic Systems.San Diego:IEEE,2012:60-67.12 李浩.基于改进灰色理论和 Elman 神经网络的电力负荷预测研究D.南京:南京理工大学,2021.13 Fan Q,Zhang Z,Huang X.Parameter conjugate gradientwithsecantequationbasedelmanneuralnetworkand its convergence analysisJ.Advanced Theory andSimulations,2022,5(9):2200047.(上接第75页)CECE78