遗传算法优化BP神经网络-非线性函数拟合
BP神经网络逼近非线性函数
![BP神经网络逼近非线性函数](https://img.taocdn.com/s3/m/c0145910e97101f69e3143323968011ca300f738.png)
3、 试用BP 神经网络逼近非线性函数f(u) =)5.0u (9.1e+-sin(10u) 其中,u ∈[-0.5,0.5](1)解题步骤:①网络建立:使用“net=newff(minmax(x), [20, 1], {'tansig ’,’ purelin' });,语句建立个前馈BP 神经网络。
该BP 神经网络只含个隐含层,且神经元的个数为20。
隐含层和输出层神经元的传递函数分别为tansig 和pure-lin 。
其他参数默认。
②网络训练:使用“net=train (net, x , y) ;”语句训练建立好的BP 神经网络。
当然在网络训练之前必须设置好训练参数。
如设定训练时间为50个单位时间,训练目标的误差小于0.01,用“net.trainParam.epochs=50; net.train-Param.goal=0.01;”,语句实现。
其他参数默认。
③网络仿真:使用“y1=sim(net, x); y2=sim(net, x};”语句仿真训练前后的BP 神经网络。
(2)程序如下:clear all ;x=[-0.5:0.01:0.5];y=exp(-1.9*(0.5+x)).*sin(10*x);net=newff(minmax(x),[20,1],{'tansig' 'purelin'});y1=sim(net,x); %未训练网络的仿真结果 net.trainParam.epochs=50;net.trainParam.goal=0.01;net=train(net,x,y);y2=sim(net,x); %训练后网络的仿真结果 figure;plot(x,y,'-',x,y1,'-',x,y2,'--')title('原函数与网络训练前后的仿真结果比较');xlabel('x');ylabel('y');legend('y','y1','y2');grid on(3)仿真结果如图:图1图1为原函数y与网络训练前后(y1,y2)的仿真结果比较图。
研究生必备的人工神经网络电子书汇总(31本)
![研究生必备的人工神经网络电子书汇总(31本)](https://img.taocdn.com/s3/m/0d81c819b7360b4c2e3f647f.png)
研究生必备的人工神经网络电子书汇总(31本)这些都是我从淘宝和百度文库里面搜集到的电子书,需要的可以联系我QQ:415295747,或者登录我的博客/u/17236977421.神经网络在应用科学和工程中的应用——从基础原理到复杂的模式识别5 译者序6 前9 致谢10 作者简介11 目录19 第1章从数据到模型:理解生物学、生态学和自然系统的复杂性和挑战27 第2章神经网络基础和线性数据分析模型72 第3章用于非线性模式识别的神经网络105 第4章神经网对非线性模式的学习166 第5章从数据中抽取可靠模式的神经网络模型的实现205 第6章数据探测、维数约简和特征提取235 第7章使用贝叶斯统计的神经网络模型的不确定性评估276 第8章应用自组织映射的方法发现数据中的未知聚类359 第9章神经网络在时间序列预测中的应用458 附录2.MATLB 神经网络30个案例分析第1章BP神经网络的数据分类——语音特征信号分类23 第2章BP神经网络的非线性系统建模——非线性函数拟合33 第3章遗传算法优化BP神经网络——非线性函数拟合48 第4章神经网络遗传算法函数极值寻优——非线性函数极值寻优57 第5章基于BP_Adsboost的强分类器设计——公司财务预警建模66 第6章PID神经元网络解耦控制算法——多变量系统控制77 第7章RBF网络的回归——非线性函数回归的实现85 第8章GRNN的数据预测——基于广义回归神经网络的货运量预测93 第9章离散Hopfield神经网络的联想记忆——数字识别102 第10章离散Hopfield神经网络的分类——高校科研能力评价112 第11章连续Hopfield神经网络的优化——旅行商问题优化计算124 第12章SVM的数据分类预测——意大利葡萄酒种类识别134 第13章SVM的参数优化——如何更好的提升分类器的性能145 第14章SVM的回归预测分析——上证指数开盘指数预测153 第15章SVM的信息粒化时序回归预测——上证指数开盘指数变化趋势和变化空间预测165 第16章自组织竞争网络在模式分类中的应用——患者癌症发病预测171 第17章SOM神经网络的数据分类——柴油机故障诊断182 第18章Elman神经网络的数据预测——电力负荷预测模型研究188 第19章概率神经网络的分类预测——基于PNN的变压器故障诊断195 第20章神经网络变量筛选——基于BP的神经网络变量筛选200 第21章LVQ神经网络的分类——乳腺肿瘤诊断210 第22章LVQ神经网络的预测——人脸朝向识别220 第23章小波神经网络的时间序列预测——短时交通流量预测230 第24章模糊神经网络的预测算法——嘉陵江水质评价241 第25章广义神经网络的聚类算法——网络入侵聚类248 第26章粒子群优化算法的寻优算法——非线性函数极值寻优255 第27章遗传算法优化计算——建模自变量降维270 第28章基于灰色神经网络的预测算法研究——订单需求预测280 第29章基于Kohonen网络的聚类算法——网络入侵聚类289 第30章神经网络GUI的实现——基于GUI的神经网络拟合、模式识别、聚类2.MATLAB 神经网络仿真与应用章节信息7 目录15 第1章神经网络概述38 第2章感知神经网络64 第3章自组织竞争神经网络106 第4章BP神经网络143 第5章线性神经网络171 第6章径向基函数神经网络196 第7章反馈神经网络及MA TLAB实现228 第8章神经网络预测与控制273 第9章神经网络优化及故障诊断302 第10章图形用户界面设计334 参考文献4.混合神经网络技术7 目录11 第1章绪论26 第2章基础知识43 第3章BP神经网络70 第4章RBF神经网络84 第5章Hopfield神经网络96 第6章随机神经网络114 第7章遗传神经网络158 第8章粒子群神经网络193 第9章模糊神经网络244 第lO章混沌神经网络293 第11章小波神经网络331 第12章神经网络集成356 附录5.神经网络控制(第三版)7 目录13 第1章绪19 第2章神经网络理论基础63 第3章基于神经网络的系统辨识101 第4章神经网络控制142 第5章遗传算法与神经控制179 附录203 参考文献6.脉冲耦合神经网络与数字图像处理丛书题名:智能科学技术著作丛书主要责任者:马义德主题词:神经网络; 数字图像处理出版者:科学出版社ISBN:978-7-03-022389-0出版地:北京出版日期:200807页数:3047 《智能科学技术著作丛书》序9 前13 目录21 第1章脉冲耦合神经网络50 第2章图像滤波及脉冲噪声滤波器77 第3章脉冲耦合神经网络在图像分割中的应用142 第4章脉冲耦合神经网络与图像编码185 第5章脉冲耦合神经网络与图像增强195 第6章脉冲耦合神经网络与图像融合210 第7章脉冲耦合神经网络与形态学245 第8章脉冲耦合神经网络在特征提取中的应用278 第9章脉冲耦合神经网络与数字图像签名技术292 第10章脉冲耦合神经网络与组合决策优化306 第11章脉冲耦合神经网络和小波变换322 参考文献7.混沌系统的模糊神经网络控制理论与方法主要责任者:谭文; 王耀南主题词:混沌学; 应用; 模糊控制; 神经网络出版者:科学出版社ISBN:978-7-03-021258-0出版地:北京出版日期:200805页数:2364 内容简介5 前7 目录13 第1章绪论37 第2章模糊神经网络控制理论基础70 第3章神经网络在混沌控制中的作用83 第4章基于径向基神经网络的非线性混沌控制99 第5章超混沌系统的模糊滑模控制111 第6章不确定混沌系统的模糊自适应控制120 第7章模糊神经网络在混沌时间序列预测中的应用134 第8章混沌系统的混合遗传神经网络控制150 第9章不确定混沌系统的模糊神经网络自适应控制165 第10章基于动态神经网络的混沌系统控制200 第11章基于线性矩阵不等式方法的混沌系统模糊控制223 第12章基于递归神经网络的不确定混沌系统同步245 结束语8. 智能预测控制及其MATLB 实现(第2版)丛书题名:自动控制技术应用丛书主要责任者:李国勇主题词:人工智能; 预测控制; 计算机辅助计算; 软件包出版者:电子工业出版社ISBN:978-7-121-10147-2出版地:北京出版日期:201001页数:3364 内容简介5 前7 目录13 第一篇神经网络控制及其MA TLAB实现13 第1章神经网络控制理论87 第2章MATLAB神经网络工具箱函数160 第3章基于Simulink的神经网络控制系统175 第二篇模糊逻辑控制及其MATLAB实现175 第4章模糊逻辑控制理论208 第5章MA TLAB模糊逻辑工具箱函数237 第6章模糊神经和模糊聚类及其MA TLAB实现267 第三篇模型预测控制及其MATLAB实现267 第7章模型预测控制理论281 第8章MA TLAB预测控制工具箱函数320 第9章隐式广义预测自校正控制及其MA TLAB实现334 附录A 隐式广义预测自校正控制仿真程序清单341 附录B MA TLAB函数一览表347 附录C MA TLAB函数分类索引349 参考文献9. 基于神经网络的优化设计及应用主要责任者:孙虎儿出版者:国防工业出版社ISBN:978-7-118-06282-3出版地:北京出版日期:200905页数:111目录11 第1章绪论11 1.1 优化设计发展概况20 1.2 信号处理的主要方法22 1.3 正交设计方法25 1.4 基于神经网络的立体正交优化设计概述28 第一篇基拙理论篇28 第2章基于小波变换的信号处理28 2.1 小波变换的源起与发展概述30 2.2 小波分析基础34 2.3 小波分析的工程解释35 2.4 基于小波分析的信号处理38 第3章神经网络结构的确定38 3.1 神经网络综论42 3.2 神经网络的基本原理47 3.3 人工神经网络的建模53 3.4 前馈型神经网络57 第4章正交设计法57 4.1 正交设计法的基本内容60 4.2 正交设计法的基本内容60 4.3 有交互作用的正交设计法63 4.4 方差分析法67 第二篇创新篇67 第5章立体正交表67 5.1 建立立体正交表70 5.2 立体正交表的基本性质71 5.3 立体正交试验的误差分析75 第6章立体正交优化设计75 6.1 立体正交优化设计概述77 6.2 立体正交优化设计的建模基础78 6.3 立体正交优化设计的特点79 6.4 立体正交设计的步骤及实现85 第三篇实践篇85 第7章液压振动筛参数优化设计与试验85 7.1 振动筛基本原理89 7.2 试验台设计91 7.3 模拟试验101 7.4 液压振动筛参数的立体正交优化设计108 第8章液压激振压路机的液压振动系统优化108 8.1 液压激振压路机基本原理110 8.2 液压振动轮的模型试验117 参考文献10.神经网络稳定性理论主要责任者:钟守铭; 刘碧森; 王晓梅; 范小明主题词:人工神经网络; 运动稳定性理论; 高等学校; 教材出版者:科学出版社ISBN:978-7-03-02116-2出版地:北京出版日期:200806页数:289内容简介5 前7 目录11 第1章绪论73 第2章Hopfield型神经网络的稳定性97 第3章细胞神经网络的稳定性150 第4章二阶神经网络的稳定性212 第5章随机神经网络的稳定性243 第6章神经网络的应用291 参考文献11. 神经模糊控制理论及应用丛书题名:自动控制技术应用丛书主要责任者:李国勇主题词:神经网络; 应用; 模糊控制出版者:电子工业出版社ISBN:978-7-121-07537-7出版地:北京出版日期:200901页数:3326 目录10 第一篇神经网络理论及其MA TLAB实现12 第1章神经网络理论77 第2章MATLAB神经网络工具箱191 第3章神经网络控制系统218 第二篇模糊逻辑理论及其MATLAB实现220 第4章模糊逻辑理论258 第5章MA TLAB模糊逻辑工具箱295 第6章模糊神经和模糊聚类及其MA TLAB实现327 附录A MA TLAB程序清单334 附录B MA TLAB函数一览表340 附录C MA TLAB函数分类索引342 参考文献12.时滞递归神经网络主要责任者:王林山主题词:时滞; 递归论; 神经网络出版者:科学出版社ISBN:978-7-03-020533-9出版地:北京出版日期:200804页数:254出版说明9 前言13 目录15 第1章概述29 第2章几类递归神经网络模型44 第3章时滞局域递归神经网络的动力行为116 第4章时滞静态递归神经网络的动力行为154 第5章时滞反应扩散递归神经网络的动力行为214 第6章时滞反应扩散方程的吸引子与波动方程核截面的Hausdorff维数估计244 第7章Ляпунов定理的推广与矩阵微分方程的渐近行为研究265 索引13. 神经网络实用教程丛书题名:普通高等教育“十一五”规划教材主要责任者:张良均; 曹晶; 蒋世忠主题词:人工神经元网络; 高等学校; 教材出版者:机械工业出版社ISBN:978-7-111-23178-3出版地:北京出版日期:200802页数:1840001 7 目录0002 5 前言0003 11 第1章人工神经网络概述0004 19 第2章实用神经网络模型与学习算法0005 83 第3章神经网络优化方法0006 98 第4章nnToolKit神经网络工具包0007 135 第5章MA TLAB混合编程技术0008 175 第6章神经网络混合编程案例0009 181 附录2NDN神经网络建模仿真工具0010 194 参考文献14.细胞神经网络动力学主要责任者:黄立宏; 李雪梅主题词:神经网络; 细胞动力学; 生物数学出版者:科学出版社ISBN:978-7-03-018109-1出版地:北京出版日期:200704页数:3334 内容简介5 前7 目录9 第一章细胞神经网络的模型及基本概念30 第二章基本理论60 第三章细胞神经网络的完全稳定性118 第四章细胞神经网络的全局渐近稳定性和指数稳定性176 第五章细胞神经网络的周期解与概周期解242 第六章细胞神经网络的动力学复杂性285 第七章一维细胞神经网络的动力学性质322 参考文献15. 人工神经网络基础丛书题名:研究生用教材主要责任者:丁士圻; 郭丽华主题词:人工神经元网络出版者:哈尔滨工程大学出版社ISBN:978-7-81133-206-3出版地:哈尔滨出版日期:200803页数:2084 内容简介5 前7 目录9 第1章绪论44 第2章前向多层网络86 第3章Hopfield网络110 第4章波尔兹曼机(BM)网络简介131 第5章自组织特征映射网络(SOFM)163 第6章ART网络197 第7章人工神经网络的软件实践和仿真15.智能控制理论及应用丛书题名:国家精品课程教材主要责任者:师黎; 陈铁军; 等主题词:智能控制出版者:清华大学出版社ISBN:978-7-302-16157-8出版地:北京出版日期:200904页数:408目录17 第1章绪论30 第2章模糊控制91 第3章模糊建模和模糊辨识118 第4章神经网络控制227 第5章模糊神经网络259 第6章专家系统301 第7章遗传算法333 第8章蚁群算法351 第9章DNA计算与基于DNA的软计算389 第10章其他智能控制16. 人工神经网络及其融合应用技术∙丛书题名:智能科学技术著作丛书∙主要责任者:钟珞 ; 饶文碧 ; 邹承明∙主题词:人工神经元网络 ; 研究∙出版者:科学出版社∙ISBN:978-7-03-018325-5∙出版地:北京∙出版日期:200701∙页数:1607 目录13 第1章绪论24 第2章前馈型神经网络47 第3章反馈型神经网络58 第4章自组织型神经网络72 第5章量子神经网络81 第6章神经网络与遗传算法103 第7章神经网络与灰色系统123 第8章神经网络与专家系统139 第9章模糊神经网络159 参考文献164 附录Matlab简介17.智能技术及其应用:邵世煌教授论文集∙主要责任者:丁永生 ; 应浩 ; 等∙主题词:人工智能 ; 文集∙出版者:科学出版社∙ISBN:978-7-03-023230-4∙出版地:北京∙出版日期:200902∙页数:573目录15 治学之路,开拓之道117 解析模糊控制理论:模糊控制系统的结构和稳定性分析127 不同模糊逻辑下模糊控制器的解析结构134 一个基于“类神经元”模型的智能控制系统及其在柔性臂上的应用研究142 交通系统的模糊控制及其神经网络实现149 采用遗传算法学习的神经网络控制器164 一种采用增强式学习的模糊控制系统研究169 基因算法及其在最优搜索上的应用191 DNA计算与软计算199 采用DNA遗传算法优化设计的TS模糊控制系统206 DNA计算研究的现状与展望223 混沌系统的一种自学习模糊控制228 用遗传算法引导混沌轨道405 模糊环境的表示及机器人轨迹规划409 多变地形下机器人路径规划415 一个环境知识的自学习方法444 含有模糊和随机参数的混合机会约束规划模型469 基于规则的模糊离散事件系统建模与控制研究491 基于最优HANKEL范数近似的线性相位IIR滤波器设计507 自适应逆控制的异步电机变频调速系统研究514 带有神经网络估计器的模糊直接转矩控制551 基于移动Agent的数字水印跟踪系统的设计和实现573 采用元胞自动机机理的针织电脑编织系统591 语词计算的广义模糊约束及其传播研究598 后记18.人工神经网络原理及应用∙丛书题名:现代计算机科学技术精品教材∙主要责任者:朱大奇 ; 史慧∙主题词:人工神经元网络∙出版者:科学出版社∙ISBN:7-03-016570-5∙出版地:北京∙出版日期:200603∙页数:218目录12 第1章人工神经网络的基础知识44 第2章BP误差反传神经网络76 第3章Hopfield反馈神经网络104 第4章BAM双向联想记忆神经网络117 第5章CMAC小脑神经网络139 第6章RBF径向基函数神经网络155 第7章SOM自组织特征映射神经网络175 第8章CPN对偶传播神经网络190 第9章ART自适应谐振理论210 第10章量子神经网络19.软计算及其应用要责任者:温显斌; 张桦; 张颖等主题词:电子计算机; 计算方法出版者:科学出版社ISBN:978-7-03-023427-8出版地:北京出版日期:200902页数:189前7 目录11 第1章绪论24 第2章模拟退火算法45 第3章人工神经网络93 第4章遗传算法138 第5章支持向量机162 第6章模糊计算20计算智能与科学配方∙主要责任者:冯天瑾 ; 丁香乾∙其他责任者:杨宁 ; 马琳涛∙主题词:人工智能 ; 神经网络 ; 计算 ; 研究∙出版者:科学出版社∙ISBN:978-7-03-020603-9∙出版地:北京∙出版日期:200801∙页数:272前10 目录16 第一章绪论38 第二章产品配方与感觉品质评估65 第三章神经网络与感觉评估99 第四章知识发现与复杂相关性分析154 第五章模式识别与原料分类187 第六章支持向量机方法214 第七章进化计算配方寻优方法243 第八章计算智能的若干哲理256 第九章人机交互智能配方系统278 参考文献287 致谢21.计算智能与计算电磁学主要责任者:田雨波; 钱鉴主题词:人工智能; 神经网络; 计算; 研究出版者:科学出版社ISBN:978-7-03-021201-6出版地:北京出版日期:200804页数:2337 目录11 第1章绪论19 第2章遗传算法基本原理50 第3章遗传算法电磁应用98 第4章模糊理论基本原理122 第5章神经网络基本原理188 第6章神经网络电磁应用235 附录1 计算智能和计算电磁学相关网站236 附录2 相关程序22.脉冲耦合神经网络原理及其应用丛书题名:智能科学技术著作丛书主要责任者:马义德主题词:神经网络; 理论; 应用出版者:科学出版社ISBN:7-03-016657-4出版地:北京出版日期:200604页数:1826 内容简介9 《智能科字技术著作丛书》库11 前15 目录19 第1章神经网络图像处理技术34 第2章PCNN模型及其应用概述49 第3章PCNN在图像滤波中的应用66 第4章PCNN在图像分割中的应用120 第5章PCNN在图像编码中的应用137 第6章PCNN与图像增强152 第7章PCNN与粗集理论、形态学和小波变换182 第8章PCNN的其他应用23.人工神经网络教程主要责任者:韩力群主题词:人工神经元网络; 研究生; 教材出版者:北京邮电大学出版社ISBN:7-5635-1367-1出版地:北京出版日期:200612页数:3307 序9 目录17 第1章绪论38 第2章人工神经网络建模基础63 第3章感知器神经网络100 第4章自组织竞争神经网络143 第5章径向基函数神经网络162 第6章反馈神经网络192 第7章小脑模型神经网络201 第8章支持向量机218 第9章遗传算法与神经网络进化237 第10章神经网络系统设计与软硬件实现267 第11章人工神经系统281 附录A 常用算法的MA TLAB程序298 附录B 常用神经网络源程序340 附录C 神经网络常用术语英汉对照344 参考文献24.神经网络专家系统主要责任者:冯定主题词:人工神经元网络出版者:科学出版社ISBN:7-03-017734-7出版地:北京出版日期:200609页数:3487 目录11 第1章从专家系统到神经网络专家系统22 第2章神经网络设计75 第3章数据的前后处理94 第4章神经网络专家系统中的模糊数146 第5章基于神经网络的知识表示199 第6章机器学习218 第7章基于神经网络的推理251 参考文献254 附录神经网络源程序25.神经网络新理论与方法主要责任者:张代远主题词:人工神经元网络出版者:清华大学出版社ISBN:7-302-13938-5出版地:北京出版日期:200611页数:1259 目录11 第1章概论17 第2章基本概念24 第3章实神经网络的代数算法44 第4章全局最小值分析51 第5章复数神经网络的代数算法61 第6章样条权函数神经网络及其学习算法124 第7章神经网络的统计灵敏度分析26.人工神经网络算法研究及应用主要责任者:田景文; 高美娟主题词:人工神经元网络; 计算方法; 研究出版者:北京理工大学出版社ISBN:7-5640-0786-9出版地:北京出版日期:200607页数:2837 目录9 第1章绪论32 第2章人工神经网络49 第3章改进遗传算法的径向基函数网络方法研究及应用95 第4章小波变换及小波神经网络方法研究及应用140 第5章模糊神经网络方法研究及应用189 第6章改进的模拟退火人工神经网络方法研究及应用235 第7章支持向量机方法研究及应用278 第8章结论281 参考文献27.神经计算与生长自组织网络主要责任者:程国建主题词:人工神经元网络; 计算; 自组织系统出版者:西安交通大学出版社ISBN:978-7-5605-2979-0出版地:西安出版日期:200810页数:242内容简介5 作者简介7 前17 目录23 第1章神经计算概述37 第2章人工神经网络的基本结构及其特性56 第3章神经感知器69 第4章自适应线性元件87 第5章多层前馈神经网络105 第6章径向基函数网络118 第7章古典生长型神经网络135 第8章生长型自组织神经网络158 第9章生长神经元结构及其变种182 第10章外生长型神经元结构206 第11章多生长神经元结构230 第12章双生长神经气网络252 参考文献28.神经计算原理丛书题名:计算机科学丛书主要责任者:(美)科斯塔尼克其他责任者:叶世伟; 王海娟主题词:突然南宫神经元网络; 计算出版者:机械工业出版社ISBN:978-7-111-20637-8出版地:北京出版日期:200705页数:491出版者的话7 专家指导委员会8 译者序9 前12 致谢13 重要符号和算符17 重要缩写词20 目录25 第一部分神经计算的基本概念和部分神经网络体系结构及其学习规则25 第1章神经计算概述40 第2章神经计算的基本概念95 第3章映射网络144 第4章自组织网络168 第5章递归网络和时间前馈网络201 第二部分神经计算的应用201 第6章用神经网络解决最优化问题238 第7章用神经网络解决矩阵代数问题275 第8章使用神经网络求解线性代数方程组318 第9章使用神经网络的统计方法372 第10章使用神经网络进行辨识、控制和枯计435 附录A 神经计算的数学基础497 主题索引29. 人工神经网络与模拟进化计算主要责任者:阎平凡主题词:人工神经元网络; 计算出版者:清华大学出版社ISBN:7-302-10663-0出版地:北京出版日期:200509页数:639出版说明9 前11 第一版前15 目录27 第1章绪论37 第2章前馈网络77 第3章径向基函数网络112 第4章学习理论与网络结构选择166 第5章核方法与支持向量机210 第6章自组织系统(Ⅰ)236 第7章自组织系统(Ⅱ)271 第8章自组织系统(Ⅲ)302 第9章动态信号与系统的处理361 第10章多神经网络集成386 第11章反馈网络与联想存储器424 第12章神经网络用于优化计算441 第13章神经网络中的动力学问题463 第14章误差函数与参数优化方法487 第15章贝叶斯方法505 第16章神经网络在信号处理中的应用552 第17章进化计算概论与进化策略575 第18章遗传算法及其理论分析596 第19章遗传算法的设计与实现619 第20章遗传算法在神经网络中的应用626 第21章遗传算法在作业调度中的应用636 第22章分布估计算法660 索引30.人工神经网络与盲信号处理主要责任者:杨行竣; 郑君里主题词:人工神经元网络; 信号处理; 应用; 人工神经元网络出版者:清华大学出版社ISBN:7-302-05880-6出版地:北京出版日期:200301页数:3997 目录11 第1章绪论33 第2章前向多层神经网络与递归神经网络123 第3章自组织神经网络163 第4章Hopfield神经网络244 第5章模糊神经网络311 第6章遗传算法及其在人工神经网络中的应用337 第7章盲信号处理31.人工神经网络理论、设计及应用(第二版)主要责任者:韩力群主题词:人工神经元网络; 高等学校; 教材出版者:化学工业出版社ISBN:978-7-5025-9523-4出版地:北京出版日期:2000709页数:2437 前9 目录15 1 绪论34 2 神经网络基础知识52 3 监督学习神经网络85 4 竞争学习神经网络121 5 组合学习神经网络133 6 反馈神经网络168 7 小脑模型神经网络178 8 基于数学原理的神经网络207 9 神经网络的系统设计与软件实现220 10 神经网络研究展望223 附录1 常用神经网络C语言源程序254 附录2 神经网络常用术语英汉对照256 参考文献。
基于遗传算法的BP神经网络算法
![基于遗传算法的BP神经网络算法](https://img.taocdn.com/s3/m/15535fb79f3143323968011ca300a6c30c22f135.png)
基于遗传算法的BP神经网络算法基于遗传算法的BP神经网络算法是一种将遗传算法与BP神经网络相结合的机器学习算法。
BP神经网络是一种具有自适应学习功能的人工神经网络,它通过反向传播算法来不断调整网络的权重和阈值,从而实现对样本数据的学习和预测。
遗传算法是一种模拟生物进化过程的优化算法,它通过选择、交叉和变异等操作来产生下一代的优秀个体,从而逐步寻找到最优解。
在基于遗传算法的BP神经网络算法中,遗传算法用于优化BP神经网络的初始权重和阈值,以提高网络的学习和泛化能力。
1.初始化个体群体:随机生成一组个体,每个个体代表BP神经网络的初始权重和阈值。
2.适应度评估:使用生成的个体来构建BP神经网络,并使用训练数据进行训练和验证,评估网络的适应度,即网络的性能指标。
3.选择操作:根据个体的适应度值确定选择概率,选择一些适应度较高的个体作为父代。
4.交叉操作:从父代中选择两个个体,通过交叉操作生成两个新的子代个体。
5.变异操作:对新生成的子代个体进行变异操作,引入一定的随机扰动,增加种群的多样性。
6.替换操作:根据一定的替换策略,用新生成的子代个体替代原来的父代个体。
7.终止条件判断:根据预先设定的终止条件(如达到最大迭代次数或达到一些适应度值阈值)判断是否终止算法。
8.返回结果:返回适应度最高的个体,即最优的BP神经网络参数。
然而,基于遗传算法的BP神经网络算法也存在一些缺点。
首先,算法的收敛速度较慢,需要较长的时间进行优化。
其次,算法需要设置一些参数,如种群大小、交叉概率和变异概率等,不同的参数组合可能对算法的性能产生较大影响,需要经过一定的试错过程。
综上所述,基于遗传算法的BP神经网络算法是一种结合了两种优化方法的机器学习算法,能够有效提高BP神经网络的学习和泛化能力。
同时,也需要在实际应用中根据具体情况选择合适的参数设置和终止条件,以获得更好的算法性能。
神经网络与遗传算法相结合的优化方法
![神经网络与遗传算法相结合的优化方法](https://img.taocdn.com/s3/m/aad8803fb42acfc789eb172ded630b1c59ee9b0f.png)
神经网络与遗传算法相结合的优化方法随着科技的不断发展,人工智能技术也越来越成熟,其中神经网络和遗传算法是两种比较常见的优化方法。
神经网络是一种基于人脑神经系统的计算模型,它可以通过输入和输出数据来学习并预测未知的数据。
而遗传算法则是一种基于生物进化的计算优化方法,通过模拟进化过程来寻找最优解。
在实际应用中,单独使用神经网络或遗传算法可能会存在一些问题。
例如,神经网络可能会受到噪声数据的影响,导致训练过程不够稳定;而遗传算法可能会受到局部最优解的限制,从而难以找到全局最优解。
因此,将神经网络和遗传算法相结合,可以弥补彼此的不足,提高优化效果。
神经网络和遗传算法相结合的优化方法大致可以分为两种:基于神经网络的遗传算法和基于遗传算法的神经网络优化。
基于神经网络的遗传算法是指将神经网络作为遗传算法中的染色体,通过遗传算法对神经网络的权重和偏置进行优化。
首先,将神经网络的权重和偏置随机生成,并用其计算出目标函数值作为该染色体的适应度。
然后,使用遗传算法的选择、交叉和变异操作对染色体进行进化,直到满足终止条件为止。
最后,选择适应度最高的神经网络作为最优解。
基于遗传算法的神经网络优化是指使用遗传算法来优化神经网络的拓扑结构和参数。
首先,通过遗传算法生成多个随机的神经网络拓扑结构,并计算它们的目标函数值。
然后,使用遗传算法的选择、交叉和变异操作对拓扑结构进行进化,得到新的神经网络结构。
接着,针对每个神经网络进行参数优化,即对权重和偏置进行遗传算法优化。
最后,选择适应度最高的神经网络作为最优解。
这两种方法都是神经网络和遗传算法相结合的优化方法,但具体应用时需要根据实际情况进行选择。
例如,在数据量较小的情况下,基于神经网络的遗传算法可能更加有效,因为神经网络可以更好地拟合数据;而在数据量较大且结构复杂的情况下,基于遗传算法的神经网络优化可能更加适合,因为遗传算法可以更好地处理大规模的优化问题。
综上所述,神经网络和遗传算法相结合的优化方法具有优化效果好、稳定性高等优点,在实际应用中有着广泛的应用前景。
基于人工神经网络和遗传算法的普鲁兰酶重组大肠杆菌高密度发酵工艺优化
![基于人工神经网络和遗传算法的普鲁兰酶重组大肠杆菌高密度发酵工艺优化](https://img.taocdn.com/s3/m/38bd8525773231126edb6f1aff00bed5b9f373f1.png)
基于人工神经网络和遗传算法的普鲁兰酶重组大肠杆菌高密度发酵工艺优化迟 雷,王静雨,侯俊超,魏佳佳,魏 涛,胡晓龙,何培新*(郑州轻工业大学食品与生物工程学院,河南 郑州450000)摘 要:基于人工神经网络和遗传算法,对重组大肠杆菌(Escherichia coli )BL 21表达热稳定普鲁兰酶的高密度发酵工艺进行优化。
在5 L 的发酵罐中,通过比较不同发酵温度、pH 值及培养基碳氮比(C /N ,mol /mol )对细胞量和产物产量的影响,确定最佳发酵工艺。
结果表明,诱导前适合细胞生长的发酵条件为发酵温度34.4 ℃、pH 6.87、培养基C /N 6.1;诱导后适合产物表达的发酵条件为发酵温度32.5 ℃、pH 6.69、培养基C /N 5.3,最终获得细胞质量浓度56.5 g /L ,重组蛋白产量3.21 g /L ,酶活力为268.3 U /mL 。
关键词:重组普鲁兰酶;神经网络;遗传算法;高密度发酵Artificial Neural Network-Genetic Algorithm-Based Optimization of High Cell Density Cultivation ofRecombinant Escherichia coli for Producing PullulanaseCHI Lei, WANG Jingyu, HOU Junchao, WEI Jiajia, WEI Tao, HU Xiaolong, HE Peixin *(School of Food and Bioengineering, Zhengzhou University of Light Industry, Zhengzhou 450000, China)Abstract: In this study, the high cell density cultivation of recombinant Escherichia coli BL 21 for the production of a novel thermostable pullulanase was optimized using artificial neural network and genetic algorithm. The effects of culture temperature, medium pH, and carbon-to-nitrogen (C /N) molar ratio were tested in a 5 L bioreactor. The results suggested that the optimal culture conditions before the induction phase were as follows: temperature 34.4 ℃, pH 6.87 and C /N ratio 6.1, and the optimal culture conditions after induction were 32.5 ℃, pH 6.69 and 5.3 C /N ratio. The maximum biomass, protein concentration and pullulanase activity obtained under these conditions were 56.5 g /L, 3.21 g /L and 268.3 U /mL, respectively.Keywords: recombinant pullulanase; neural network; genetic algorithm; high cell density cultivation DOI:10.7506/spkx1002-6630-20200101-006中图分类号:Q815 文献标志码:A 文章编号:1002-6630(2021)10-0073-06引文格式:迟雷, 王静雨, 侯俊超, 等. 基于人工神经网络和遗传算法的普鲁兰酶重组大肠杆菌高密度发酵工艺优化[J]. 食品科学, 2021, 42(10): 73-78. DOI:10.7506/spkx1002-6630-20200101-006. CHI Lei, WANG Jingyu, HOU Junchao, et al. Artificial neural network-genetic algorithm-based optimization of high cell density cultivation of recombinant Escherichia coli for producing pullulanase[J]. Food Science, 2021, 42(10): 73-78. (in Chinese with English abstract) DOI:10.7506/spkx1002-6630-20200101-006. 收稿日期:2020-01-01基金项目:国家自然科学基金青年科学基金项目(31801535);河南省重大科技专项(181100211400);河南省教育厅科技创新人才项目(18HASTIT040);郑州轻工业大学博士科研启动基金项目(2013BSJJ004)第一作者简介:迟雷(1983—)(ORCID: 0000-0002-7824-2785),男,副教授,博士,研究方向为发酵工程。
毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc
![毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc](https://img.taocdn.com/s3/m/f71b77a5b307e87100f6961e.png)
编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的BP神经网络的优化问题研究学院名称:学生姓名:专业:班级:学号:指导教师:答辩组负责人:填表时间:2010年06月重庆邮电大学教务处制摘要本文的主要研究工作如下:1、介绍了遗传算法的起源、发展和应用,阐述了遗传算法的基本操作,基本原理和遗传算法的特点。
2、介绍了人工神经网络的发展,基本原理,BP神经网络的结构以及BP算法。
3、利用遗传算法全局搜索能力强的特点与人工神经网络模型学习能力强的特点,把遗传算法用于神经网络初始权重的优化,设计出混合GA-BP算法,可以在一定程度上克服神经网络模型训练中普遍存在的局部极小点问题。
4、对某型导弹测试设备故障诊断建立神经网络,用GA直接训练BP神经网络权值,然后与纯BP算法相比较。
再用改进的GA-BP算法进行神经网络训练和检验,运用Matlab软件进行仿真,结果表明,用改进的GA-BP算法优化神经网络无论从收敛速度、误差及精度都明显高于未进行优化的BP神经网络,将两者结合从而得到比现有学习算法更好的学习效果。
【关键词】神经网络BP算法遗传算法ABSTRACTThe main research work is as follows:1. Describing the origin of the genetic algorithm, development and application, explain the basic operations of genetic algorithm, the basic principles and characteristics of genetic algorithms.2. Describing the development of artificial neural network, the basic principle, BP neural network structure and BP.3. Using the genetic algorithm global search capability of the characteristics and learning ability of artificial neural network model with strong features, the genetic algorithm for neural network initial weights of the optimization, design hybrid GA-BP algorithm, to a certain extent, overcome nerves ubiquitous network model training local minimum problem.4. A missile test on the fault diagnosis of neural network, trained with the GA directly to BP neural network weights, and then compared with the pure BP algorithm. Then the improved GA-BP algorithm neural network training and testing, use of Matlab software simulation results show that the improved GA-BP algorithm to optimize neural network in terms of convergence rate, error and accuracy were significantly higher than optimized BP neural network, a combination of both to be better than existing learning algorithm learning.Key words:neural network back-propagation algorithms genetic algorithms目录第一章绪论 (1)1.1 遗传算法的起源 (1)1.2 遗传算法的发展和应用 (1)1.2.1 遗传算法的发展过程 (1)1.2.2 遗传算法的应用领域 (2)1.3 基于遗传算法的BP神经网络 (3)1.4 本章小结 (4)第二章遗传算法 (5)2.1 遗传算法基本操作 (5)2.1.1 选择(Selection) (5)2.1.2 交叉(Crossover) (6)2.1.3 变异(Mutation) (7)2.2 遗传算法基本思想 (8)2.3 遗传算法的特点 (9)2.3.1 常规的寻优算法 (9)2.3.2 遗传算法与常规寻优算法的比较 (10)2.4 本章小结 (11)第三章神经网络 (12)3.1 人工神经网络发展 (12)3.2 神经网络基本原理 (12)3.2.1 神经元模型 (12)3.2.2 神经网络结构及工作方式 (14)3.2.3 神经网络原理概要 (15)3.3 BP神经网络 (15)3.4 本章小结 (21)第四章遗传算法优化BP神经网络 (22)4.1 遗传算法优化神经网络概述 (22)4.1.1 用遗传算法优化神经网络结构 (22)4.1.2 用遗传算法优化神经网络连接权值 (22)4.2 GA-BP优化方案及算法实现 (23)4.3 GA-BP仿真实现 (24)4.3.1 用GA直接训练BP网络的权值算法 (25)4.3.2 纯BP算法 (26)4.3.3 GA训练BP网络的权值与纯BP算法的比较 (28)4.3.4 混合GA-BP算法 (28)4.4 本章小结 (31)结论 (32)致谢 (33)参考文献 (34)附录 (35)1 英文原文 (35)2 英文翻译 (42)3 源程序 (47)第一章绪论1.1 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
基于遗传算法优化BP神经网络圆柱壳结构可靠度分析
![基于遗传算法优化BP神经网络圆柱壳结构可靠度分析](https://img.taocdn.com/s3/m/2443645c02d8ce2f0066f5335a8102d277a26179.png)
基于遗传算法优化BP神经网络圆柱壳结构可靠度分析目录一、内容概括 (1)(一)基于遗传算法的优化方法介绍 (2)(二)BP神经网络介绍与应用场景分析 (2)(三)圆柱壳结构可靠度分析方法探讨 (4)二、圆柱壳结构基础理论知识概述 (5)(一)圆柱壳结构的组成及特点分析 (6)(二)圆柱壳结构的力学特性研究 (7)(三)圆柱壳结构可靠度评价指标介绍 (9)三、BP神经网络在圆柱壳结构可靠度分析中的应用 (9)(一)BP神经网络模型的构建与训练过程 (10)(二)基于BP神经网络的圆柱壳结构可靠度预测模型建立与实施步骤介绍11 (三)BP神经网络模型的优缺点分析及对策建议 (13)四、遗传算法在优化BP神经网络模型中的应用 (14)(一)遗传算法的基本原理及特点介绍 (16)(二)基于遗传算法的BP神经网络模型优化过程与实施步骤解析..16(三)案例分析 (18)一、内容概括介绍了BP神经网络的基本原理及其在当前圆柱壳结构可靠度分析中的局限性。
BP神经网络是一种通过反向传播算法进行权值和阈值调整的多层前馈网络,广泛应用于各种工程领域。
传统的BP神经网络在解决复杂结构优化问题时,往往存在易陷入局部最优解、收敛速度慢等问题。
阐述了遗传算法的基本原理和特性,遗传算法是一种模拟自然选择和遗传机制的优化搜索算法,具有全局优化能力,能够解决复杂的非线性问题。
将遗传算法与BP神经网络相结合,有望提高圆柱壳结构可靠度分析的准确性和效率。
详细描述了基于遗传算法优化BP神经网络的流程和方法。
通过遗传算法优化BP神经网络的权值和阈值,提高网络的性能和准确性。
将优化后的BP神经网络应用于圆柱壳结构可靠度分析,通过大量的数据训练和测试,验证该方法的可行性和有效性。
通过实例分析,展示了基于遗传算法优化BP神经网络在圆柱壳结构可靠度分析中的实际应用效果。
该方法能够显著提高圆柱壳结构可靠度分析的准确性和效率,为工程实践提供了一种新的思路和方法。
基于GA-BP神经网络的非线性模拟量回归
![基于GA-BP神经网络的非线性模拟量回归](https://img.taocdn.com/s3/m/28f3b03f6fdb6f1aff00bed5b9f3f90f76c64dbf.png)
㊀2021年㊀第1期仪表技术与传感器Instrument㊀Technique㊀and㊀Sensor2021㊀No 1㊀基金项目:国家自然科学基金项目(61672369)收稿日期:2020-01-13基于GA-BP神经网络的非线性模拟量回归周㊀欣,王宜怀,姚望舒,葛新越(苏州大学计算机科学与技术学院,江苏苏州㊀215006)㊀㊀摘要:针对嵌入式系统中传感器测量模拟量与采样值之间的非线性关系难以找寻确定公式进行表达的问题,提出使用BP神经网络对非线性模拟量进行回归拟合㊂并针对BP神经网络易陷入局部极小值的缺陷,采用遗传算法进行优化㊂实验表明,与最小二乘法与三次样条插值法相比,BP神经网络对曲线拟合程度优于其余两种方法,且具有较高的准确度㊂遗传算法优化后的BP神经网络,能够更加快速收敛,准确度也进一步提升㊂同时将网络模型应用在MCU端,实现在MCU端的预测与参数更新,具有一定的实用性和适应性㊂关键词:嵌入式系统;模拟量;非线性;回归拟合;BP神经网络;遗传算法中图分类号:TP273㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1002-1841(2021)01-0084-05NonlinearAnalogRegressionBasedonGA-BPNeuralNetworkZHOUXin,WANGYi⁃huai,YAOWang⁃shu,GEXin⁃yue(SchoolofComputerScienceandTechnology,SoochowUniversity,Suzhou215006,China)Abstract:Aimingattheproblemthatthenon⁃linearrelationshipbetweentheanalogquantitymeasuredbythesensorandthesampledvalueintheembeddedsystemwasdifficulttofindacertainformulatoexpress,aregressionfittingusingBPneuralnet⁃workwasproposed.AndinordertosolvetheproblemthattheBPneuralnetworkiseasytofallintothelocalminimum,thegeneticalgorithmwasusedforoptimization.Experimentsshowthatcomparedwiththetraditionalleastsquaremethodandcubicsplinein⁃terpolationmethod,theBPneuralnetworkwasbetterthantheothertwomethodsincurvefitting,andhashigheraccuracy.Andthegeneticalgorithm⁃optimizedBPneuralnetworkcanconvergemorequicklyandtheaccuracywasfurtherimproved.AndapplyingthenetworkmodeltotheMCUtoachievepredictionandparameterupdateontheMCUhascertainpracticalityandadaptability.Keywords:embeddedsystem;analog;nonlinear;regressionfitting;BPneuralnetwork;geneticalgorithm0㊀引言在嵌入式测控系统中,控制终端通过传感器对外界信息进行检测,经由放大电路㊁模数转换模块(analogtodigitalconvertmodule,A/D转换模块)等,转换成能被终端识别的数字信号(又称为A/D值)㊂为便于测控系统使用,需将A/D值与实际外界信息对应,此对应过程可称之为物理量回归㊂目前常见的物理量回归方法[1]有公式法,查表法,分段直线法,最小二乘法及三次样条插值法等㊂但受采样过程中传感器自身采样特性,放大电路与A/D转换模块转换过程中所具有的非线性变换等因素的影响,待回归A/D值与回归后的物理量之间成非线性关系㊂上述方法虽可用于解决物理量回归问题,但存在一定的缺陷㊂如公式法利用固定数字公式进行转换,速度快,但准确度不高;查表法根据输入输出表格进行查找,占用空间过大;分段直线法的分段越多,精度越高,但其复杂性也不断增加;而最小二乘法和三次样条插值法是通过采样数据确定相应的匹配函数,针对不同情况需重新确认公式,且非线性关系较为复杂,不易确定合适公式㊂针对上述情况,本文提出以A/D值作为输入,传感器测量的实际模拟量作为输出,使用BP神经网络进行回归拟合㊂并针对BP神经网络易陷入局部极小值的问题,选择使用遗传算法进行参数优化㊂将遗传算法优化后的BP神经网络与最小二乘法㊁三次样条插值法及传统BP神经网络进行比较,实验表明,通过GA-BP算法能够有效的提高物理量回归的精度㊂同时提出一种回归模型在MCU端应用的方法,该方法能够较好地在MCU进行物理量回归及参数更新,具有一定的实用性和适应性㊂1㊀GA-BP神经网络回归模型1.1㊀BP神经网络反向传播(backpropagation,BP)学习算法,是一㊀㊀㊀㊀㊀第1期周欣等:基于GA-BP神经网络的非线性模拟量回归85㊀㊀种基于误差反向传播的前向多层反馈的人工神经网络算法㊂通过梯度下降法,寻找实际输出值和目标值之间误差平方的极小值,从而对网络的连接权值进行调整,达到在调整过的网络模型中,对于每一组输入都能得到期望输出的目的[2]㊂以A/D值作为输入,传感器测量模拟量作为输出,可构建单输入输出的神经网络模型㊂理论与实践表明,含有一个隐藏层的BP神经网络具有逼近任何闭区间内一个连续函数的能力[3],因此使用3层神经网络模型进行训练和预测㊂其3层BP神经网络模型如图1所示㊂图1㊀BP神经网络模型在此网络模型中,设训练样例个数为D,网络由1个输入层单元,Q个隐藏层单元,1个输出层单元构成㊂输入层仅进行数据的输入,表示为ad=X,d=1,2,3, ,D为训练样本编号㊂隐藏层使用sigmoid函数作为激活函数,提供非线性变换过程,其输出为hdi=sig(wiad+oi)(1)式中:wi为输入层与隐藏层之间的权值;oi为输入层与输出层的权值,i=1,2,3, ,Q为隐藏层单元数㊂输出层同样使用sigmoid函数,其输出为Y=yd=sig(ðQivihdi+r)(2)式中:r为隐藏层与输出层的阈值;vi为隐藏层节点与输出节点的权值,i=1,2,3, ,Q为隐藏层单元数㊂1.2㊀遗传算法遗传算法(geneticalgorithm,GA)是一种模拟自然生存和遗传机制的最优解搜索算法[4]㊂通过选择㊁交叉和变异对种群进行多次迭代优化,选择符合当前问题的最优解,其进化过程如图2所示㊂图2㊀遗传算法种群进化过程该算法提供了一种求解复杂系统问题的通用框架,其全局搜索策略和优化搜索方法的计算不依赖问题的具体领域,只需要确定影响搜索方向的目标函数和适应度函数,便可以实现最优解搜索㊂1.3㊀GA-BP神经网络算法流程针对传统BP神经网络训练过程易陷入局部极小值的问题,使用遗传算法进行优化㊂将随机生成的初始权值与阈值作为种群的个体,经遗传算法筛选出较为合适的解作为BP神经网络的权值与阈值;由BP神经网络模型进行权值与阈值的进一步调整,得到能够较好反映输入输出非线性关系的训练模型,其训练过程如图3所示㊂图3㊀GA-BP神经网络训练过程其具体执行步骤如下:(1)训练样本归一化㊂使用最大最小值归一化对训练样本进行数据压缩,保留数据特性的同时,加快训练速度㊂(2)确定网络拓扑结构㊂根据训练样本确定隐藏层单元数㊁学习速率与激活函数等网络参数,生成相应的网络拓扑结构㊂(3)生成初始种群㊂随机生成权值与阈值的初始值,并将其作为种群的个体,进行实数编码㊂(4)计算适应度㊂适应度函数为㊀㊀㊀㊀㊀86㊀InstrumentTechniqueandSensorJan 2021㊀f=1E(3)式中:E为遗传算法的目标函数,是BP神经网络训练后实际输出值和目标值之间误差平方和㊂(5)选择父代㊂按适应度大小对个体进行排序,并使用赌轮盘算法[5]筛选出2个个体作为父代㊂(6)随机交叉㊂父代以每层网络的权值与阈值作为基因,采用随机交叉算法,对基因进行组合生成新的子代㊂(7)变异㊂生成子代中,存在一部分个体发生变异,变异概率为0.01㊂变异个体的权值和阈值将重新赋值,生成新的基因㊂(8)是否满足停止条件㊂在不满足停止条件时,从原始种群中选择部分适应度高的个体与新生成子代组成新的种群,重复(4) (7)的步骤继续求解满足情况的权值与阈值㊂(9)权值与阈值的赋值㊂将遗传算法求解的权值与阈值赋值给BP神经网络,通过网络训练进一步实现参数的更新㊂(10)权值与阈值的更新㊂通过网络训练比较全局误差极小值[6]来判断是否生成满足需求的权值与阈值,并使用误差反向传播方法对权值与阈值进行更新,直到满足目标训练次数或目标误差㊂(11)模型生成㊂保存最终权值与阈值及相关参数,生成相应的回归模型㊂2㊀GA-BP的非线性回归实验分析2.1㊀数据的获取本文针对传感器模拟量的非线性问题进行回归分析,故选择随光照强度变化,而阻值成非线性变化的光敏电阻获取训练样本㊂此处选用光敏电阻的型号为GM5506,其阻值随光照强度的升高而降低,使用如图4所示的采样电路,其对应电压范围为[0.55V(亮),3.28V(暗)],可测得[0lux,15000lux]区间内的光照强度㊂图4㊀光敏电阻采样电路控制终端的16位A/D模块与采样点连接,测试获得一组光照强度和对应A/D采样值的训练样本,该训练样本数据能够较好地涵盖测量范围及其变化情况,其数据如表1所示,其中1 18为训练数据,19 26为测试数据㊂表1㊀训练样本 光照强度与A/D值样本为了对不同方法进行比较,引入均方根误差与决定系数对预测效果进行评判㊂均方根误差(rootmeansquarederror,RMSE)计算观测值与真实值之间的偏差,其值越小,预测效果越好㊂RMSE(o,t)=1N-2ðNi=1(o-t)2(4)式中:o为观测值;t为真实值㊂实际使用中使用RMSE/o(o为输出均值)进行判断㊂决定系数又称为拟合优度,通常使用R表示,反映的是回归的拟合程度,其值越大,拟合程度越好,预测性能也就越优㊂R=1-ð(o-t)2ð(o-o)2(5)2.3㊀实验方案与结果本文实验模型使用C#语言编程实现,具有训练与验证功能㊂通过对模型的分析可知,其输入与输出神经元个数均为1㊂采用sigmoid型函数作为激活函数的神经网络具有对任意连续函数的逼近能力[7],故选取sigmoid函数作为激活函数,使用梯度下降法进行权值与阈值的更新㊂隐藏层单元个数的范围可依据经验公式[8]计算得出:q=p+m+α(6)式中:q为隐藏层单元数;p为输入层单元数;m为输出㊀㊀㊀㊀㊀第1期周欣等:基于GA-BP神经网络的非线性模拟量回归87㊀㊀层单元数;α为1 10之间的常数㊂对于回归模型,其隐藏层单元数范围在3 11之间㊂经多次实验验证得出隐藏层单元数为8时,具有更好的拟合效果㊂设定学习速率为0.1,目标误差精度为0.000001,初始权值和阈值随机生成㊂在此网络结构基础上,使用遗传算法对初始权值与阈值进行优化,初始种群大小为100,变异概率为0.01,迭代次数为1000㊂在上述网络中,使用样本中的训练数据进行训练,得到对应的权值与阈值参数如表2所示㊂表2㊀BP神经网络各层参数输入层与隐藏层权值wi输入层与隐藏层阈值oi隐藏层与输出层权值vi隐藏层与输出层阈值r68.8104866010556-0.66003077579745746.73321813933922.73067762764518-1.4613382643164-11.854879783609389.3053999526315-2.42689739802703-21.109017087818332.33091647935413.4269637209893419.160911532471432.730230400004621.01962240528156.16027469240735-2.2545600648712518.74721332834160.161949852000884-6.84377968780148172.0503307777850.950824710764604-70.225607384132317.12623727885054.721111751110490.825034658531259㊀㊀权值与阈值以及网络相关参数共同构成一个GA-BP网络模型㊂使用该网络模型对测试数据进行验证分析,由表3可以看出,光照强度的预测值与实际值误差基本能控制在可接受范围以内㊂表3㊀测试样例输出测试A/D目标输出实际输出误差504592.42.10.3370078.99.70.82504243.444.10.716452127.2126.90.311369261.3260.50.88036501.6500.61.043881159.21158.40.8111712924.512925.00.52.4㊀方法对比2.4.1㊀传统方法与神经网络的对比传统的非线性回归方法有最小二乘法和三次样条插值法㊂最小二乘法通过最小化误差平方和找寻最佳函数匹配[9],三次样条插值法通过三弯矩法并结合边界条件推导系数方程确定对应的回归函数[10],实际是在相邻数据点之间确定一个三次样条函数㊂针对本文使用的训练样本,使用最小二乘法和三次样条插值法进行回归拟合,并使用测试样例与BP神经网络进行验证对比,图5给出各方法的预测结果的回归曲线,并列出各方法的均方根误差和决定系数,如表4所示㊂图5㊀光照强度与A/D值的物理量回归曲线表4㊀传统方法与神经网络的对比回归方法RRMSE最小二乘法0.964970.83197三次样条插值0.971050.75750BP神经网络0.997250.23508㊀㊀综合图5和表4可以看出BP神经网络的预测准确度优于其余2种方法㊂最小二乘法与三次样条插值法的拟合是确定具体公式及其系数,BP神经网络确定网络相关参数㊂3种方法在回归形式上存在一定的区别,但都可转换为使用一定的回归公式进行回归预测㊂不同在于对不同的训练样本,最小二乘法与三次样条插值法需要重新确认公式,而BP神经网络模型的回归公式可不改变,仅需校正权值与阈值㊂同时BP神经网络可以通过不断提升训练次数来减小误差,达到更好的拟合效果,是一种具有较好拟合能力的非线性回归方法㊂2.4.2㊀BP神经网络优化对比由上述对比实验可知,BP神经网络对于传感器㊀㊀㊀㊀㊀88㊀InstrumentTechniqueandSensorJan 2021㊀模拟量的非线性回归问题具有较好的拟合能力㊂但BP神经网络存在易陷入局部极小值的特点,针对此问题使用遗传算法进行优化㊂分别记录下BP神经网络与GA-BP神经网络训练过程中每10000次训练实际值与目标值之间的误差平方和,绘制成如图6所示的曲线㊂并计算相应的均方根误差和决定系数,如表5所示㊂图6㊀GA-BP与BP误差状态表5㊀GA-BP与BP对比回归方法RRMSEBP神经网络0.997250.23508GA-BP神经网络0.999220.12553㊀㊀从图6可以看出,GA-BP神经网络模型在训练过程中的收敛速度明显优于传统BP神经网络㊂同时结合表5可以看出,在训练相同次数的情况下对GA-BP的拟合程度优于传统BP算法,具有更好的预测准确度㊂3㊀BP神经网络在MCU上的应用模型训练过程在PC端完成,而生成的网络模型则应用于MCU端㊂图7为训练模型在MCU端的应用过程㊂针对上述流程,将BP神经网络在MCU端回归预测功能封装成构件,构件中各函数及功能如表6所示㊂按图8所示的结构类型将网络参数存储在固定Flash区域;芯片启动后,使用BPinit函数读取位于Flash区域的存储参数,构建神经网络模型;实时使用A/D转换模块读取传感器A/D采样值后,利用BPpre⁃dict函数进行转换到传感器的实际输出值;同时包含参数更新功能,当计算结果存在误差时,可重新采集训练样本在PC端训练,并将训练结果利用BPUpdate函数将网络模型重新写入相应Flash区域㊂以MKL36Z64[11](简称KL36)芯片和S32K144[12](简称S32K)芯片为例进行MCU端预测实验㊂KL36属于ARMCortex-M0+内核,其对应的Flash为64KB,图7㊀神经网络在MCU端应用表6㊀BP神经网络预测构件函数名称功能BPinitBP网络模型初始化读取位于Flash的参数,并生成网络模型BPpredict预测函数A/D值回归预测BPUpdate参数更新解析更新后的参数并重新写入FlashRAM大小为8KB;而S32K属于ARMCortex-M4内核,其对应的Flash为512KB,RAM大小为60KB;其内置A/D转换模块精度均为16位㊂使用该构件进行光照强度的采样与回归,在KL36与S32K上均能按照如图7所示的流程进行回归预测㊂图8㊀网络参数存储结构体4㊀结束语本文针对非线性传感器A/D值与模拟量之间存在的非线性关系难以确定回归公式进行表达的问题,提出使用BP神经网络对传感器A/D值与模拟量进行回归拟合㊂实验表明,使用BP神经网络能够对两者之间的非线性关系进行良好表达,和最小二乘法与三次样条插值法相比,BP神经网络的拟合程度明显优于其余2种方法,具有较高的准确(下转第101页)㊀㊀㊀㊀㊀第1期陶洋等:基于稀疏自编码器的传感器在线漂移补偿算法101㊀㊀[3]㊀裴高璞,史波林,赵镭,等.典型掺假蜂蜜的电子鼻信息变化特征及判别能力[J].农业工程学报,2015,31(S1):325-331.[4]㊀孙皓.面向伤口感染检测的电子鼻传感器阵列构建与优化研究[D].重庆:重庆大学,2017.[5]㊀ZHANGL,ZHAGND.DomainadaptationextremelearningmachinesfordriftcompensationinE⁃nosesystems[J].IEEEtransactionsoninstrumentationandmeasurement,2014,64(7):1790-1801.[6]㊀GONGB,SHIY,SHAF,etal.Geodesicflowkernelforun⁃superviseddomainadaptation[C]//2012IEEEConferenceonComputerVisionandPatternRecognition.RhodeIsland:IEEE,2012:2066-2073.[7]㊀CUIZ,LIW,XUD,etal.Flowingonriemannianmanifold:domainadaptationbyshiftingcovariance[J].IEEEtransac⁃tionsoncybernetics,2014,44(12):2264-2273.[8]㊀ZHANGL,LIUY,HEZ,etal.Anti⁃driftinE⁃nose:Asub⁃spaceprojectionapproachwithdriftreduction[J].SensorsandActuatorsB:Chemical,2017,253:407-417.[9]㊀UZAIRM,MIANA.Blinddomainadaptationwithaugmentedextremelearningmachinefeatures[J].IEEEtransactionsoncybernetics,2016,47(3):651-660.[10]㊀RUMELHARTDE,HINTONGE,WILLIAMSRJ.Learningrepresentationsbyback⁃propagatingerrors[J].Nature,1986,323(6088):533-536.[11]㊀JUY,GUOJ,LIUS.AdeeplearningmethodcombinedsparseautoencoderwithSVM[C]//2015InternationalConferenceonCyber⁃EnabledDistributedComputingandKnowledgeDiscovery.Xi an:IEEE,2015:257-260.[12]㊀LUOW,YANGJ,XUW,etal.Locality⁃constrainedsparseauto⁃encoderforimageclassification[J].IEEESignalPro⁃cessingLetters,2014,22(8):1070-1073.[13]㊀VERGARAA,VEMBUS,AYHANT,etal.Chemicalgassensordriftcompensationusingclassifierensembles[J].SensorsandActuatorsB:Chemical,2012,166:320-329.作者简介:陶洋(1964 ),教授,硕士生导师,博士后,主要研究领域为机器学习,模式识别等㊂E⁃mail:cqtxrjyjs@126.com杨皓诚(1995 ),硕士研究生,主要研究领域为机器嗅觉,模式识别㊂E⁃mail:jackwilliam_yang@163.com(上接第88页)度,并能有效提升转换后的精度㊂而使用遗传算法优化后的GA-BP神经网络,能加快BP神经网络的收敛速度,回归的精度也进一步提升㊂同时提出一种在MCU端应用的方法,网络参数固化至MCU端存储,并利用BP神经网络构件实现在MCU的回归预测,具有一定的实用性和适应性㊂参考文献:[1]㊀陈韦名,曾喆昭,廖震中,等.一种湿度传感器温度补偿的非线性校正方法[J].传感技术学报,2017(5):742-745.[2]㊀焦李成,杨淑媛,刘芳.神经网络七十年:回顾与展望[J].计算机学报,2016,39(8):1697-1716.[3]㊀Hecht⁃NielsenR.TheoryoftheBackpropagationNeuralNet⁃work[C]//International1989JointConferenceonNeuralNetworks,Washington:IEEE,1989.[4]㊀梁丰,熊凌.基于GA-BP神经网络的移动机器人UWB室内定位[J].微电子学与计算机,2019,36(4):33-37.[5]㊀丛秋梅,张北伟,苑明哲.基于同步聚类的污水水质混合在线软测量方法[J].计算机工程与应用,2015,51(24):27-33.[6]㊀DINGS,SUC,YUJ.AnoptimizingBPneuralnetworkalgo⁃rithmbasedongeneticalgorithm[J].ArtificialIntelligenceReview,2011,36(2):153-162.[7]㊀ITOY.Approximaterepresentationofacontinuousfunctionbyaneuralnetworkwithscaledorunscaledsigmoidunits[C]//IJCNN-91-SeattleInternationalJointConferenceonNeuralNetworks,Seattle:IEEE,2002.[8]㊀NURYAH,HASANK,ALAMMJB.Comparativestudyofwavelet-ARIMAandwavelet-ANNmodelsfortemperaturetimeseriesdatainnortheasternBangladesh[J].JournalofKingSaudUniversity-Science,2017,29(1):47-61.[9]㊀田垅,刘宗田.最小二乘法分段直线拟合[J].计算机科学,2012,39(S6):482-484.[10]㊀王冰冰,李淮江.基于三次样条插值的硅压阻式压力传感器的温度补偿[J].传感技术学报,2015(7):61-65.[11]㊀NXP.KL36Sub⁃FamilyReferenceManual[EB/OL].(2013-07)[2019-10-13].https://www.nxp.com/docs/en/ref⁃erence⁃manual/KL36P121M48SF4RM.pdf.[12]㊀NXP.S32K1xxSeriesReferenceManual[EB/OL].(2019-06)[2019-11-04]https://www.nxp.com/docs/en/refer⁃ence⁃manual/S32K-RM.pdf.作者简介:周欣(1995 ),硕士研究生,主要从事嵌入式与物联网方面的研究㊂E⁃mail:20174227026@stu.suda.edu.cn王宜怀(1962 ),教授,博士生导师,主要从事嵌入式系统㊁传感网与智能控制技术方面的研究。
基于BP神经网络的非线性函数拟合——程序设计说明
![基于BP神经网络的非线性函数拟合——程序设计说明](https://img.taocdn.com/s3/m/e6e7266e0166f5335a8102d276a20029bd6463d0.png)
基于BP神经网络的非线性函数拟合——程序设计说明程序设计说明:1.确定网络结构首先,需要确定BP神经网络的结构,包括输入层、隐藏层和输出层的节点数。
输入层的节点数由样本的特征数确定,隐藏层的节点数可以通过试验确定,输出层的节点数则由问题的要求确定。
2.初始化网络参数初始化网络的权值和偏置,可以使用随机数生成,初始值不能太大或太小。
权值和偏置的初始值会对模型的训练效果产生影响,一般可以根据问题的复杂程度来选择。
3.前向传播通过前向传播,将样本数据输入到神经网络中,并计算每个神经元的激活值。
激活函数可以选择Sigmoid函数或者ReLU函数等非线性函数。
4.计算误差5.反向传播通过反向传播,将误差从输出层向输入层传播,更新网络的权值和偏置。
反向传播的过程可以使用梯度下降法来更新网络参数。
6.训练网络7.测试网络使用未参与训练的样本数据测试网络的泛化能力,计算测试误差。
如果测试误差较小,说明网络能够较好地拟合非线性函数。
8.参数调优根据训练误差和测试误差结果,可以调整网络的参数,如学习率、隐藏层节点数等,以提高网络的训练效果和泛化能力。
9.反复训练和测试网络根据需要,反复进行训练和测试的过程,直至网络的训练误差和测试误差均满足要求。
这是一个基于BP神经网络的非线性函数拟合的程序设计说明,通过实现以上步骤,可以有效地进行非线性函数的拟合和预测。
在具体实现中,可以使用Python等编程语言和相应的神经网络框架,如TensorFlow、PyTorch等,来简化程序的编写和调试过程。
同时,为了提高程序的性能和效率,可以使用并行计算和GPU加速等技术。
遗传算法优化BP神经网络权值和阈值的通用
![遗传算法优化BP神经网络权值和阈值的通用](https://img.taocdn.com/s3/m/7af915a10029bd64783e2c2b.png)
B2(i,1)=x((R*S1+S1*S2+S1)+i);
end
% 计算S1与S2层的输出
A1=tansig(W1*P,B1);
A2=purelin(W2*A1,B2);
% 计算误差平方和
SE=sumsqr(T-A2);
val=1/SE; % 遗传算法的适应值
figure(2)
plot(trace(:,1),trace(:,3),'r-');
hold on
plot(trace(:,1),trace(:,2),'b-');
xlabel('Generation');
ylabel('Fittness');
%下面将初步得到的权值矩阵赋给尚未开始训练的BP网络
net.trainParam.epochs=50;
net.trainParam.goal=0.001;
%训练网络
net=train(net,XX,YY);
程序二:适应值函数
function [sol, val] = gabpEval(sol,options)
% val - the fittness of this individual
%--------------------------------------------------------------------------
%数据归一化预处理
nntwarn off
XX=premnmx(XX);
YY=premnmx(YY);
%创建网络
net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'trainlm');
BP神经网络与遗传算法耦合优化马尾松树脂降解发酵培养基
![BP神经网络与遗传算法耦合优化马尾松树脂降解发酵培养基](https://img.taocdn.com/s3/m/930397870d22590102020740be1e650e52eacf16.png)
BP神经网络与遗传算法耦合优化马尾松树脂降解发酵培养基作者:***来源:《福建农业科技》2020年第03期摘要:为了提高伯克霍尔德氏菌Burkholderia sp.ZYB002發酵液降解马尾松树脂的效价,对培养基进行优化。
通过单因素试验确定1%葡萄糖为发酵最适碳源、0.3%尿素和2%玉米粉为最适复合氮源。
采用响应面法得到3种主控因子最佳配比:葡萄糖0.576%、橄榄油1.81%、接种量2.57%,优化后降解马尾松树脂的效价提高到42.5%;运用BPGA耦合法得到最佳配比:葡萄糖0.6763%、橄榄油1.8034%、接种量3.3813%,优化后马尾松树脂的降解效价提高到47.4%。
结果还表明:BPGA耦合法较响应面更具优化效应,优化后比初始降解效价提高了38.6%。
通过BPGA耦合法优化后,Burkholderia sp.ZYB002菌株的摇瓶发酵最佳培养基组成为:葡萄糖0.6763%、玉米粉1.2%、橄榄油1.8034%、尿素(氮含量)0.05%、K2HPO40.2%、NaHCO3 0.1%、吐温80 1.0%、初始pH 8.5。
培养条件:发酵温度为30℃,接种量3.3813%,摇床转速 220 r·min-1,装液量 35 mL(250 mL三角瓶),培养时间 36 h。
关键词:马尾松树脂;响应面;神经网络;遗传算法;培养基优化Abstract: In order to improve the titer of Pinus massoniana resin degraded by the fermentation broth of Burkholderia sp.ZYB002, the medium was optimized. The single factor experiment was carried out to determine that 1% glucose was the most suitable carbon source for the fermentation,0.3% urea and 2% corn flour were the most suitable compound nitrogen sources. The response surface method was used to obtain the optimal ratio of the three main control factors: glucose 0.576%,olive oil 1.81% and inoculation quantity 2.57%. After the optimization, the degradation titer of Pinus massoniana resin was increased to 42.5%. While the optimal ratio was obtained by the BPGA coupled method: glucose 0.6763%, olive oil 1.8034%, inoculation quantity 3.3813%. After the optimization, the degradation titer of Pinus massoniana resin was increased to 47.4%. The resultsalso showed that compared with the response surface method, the BPGA coupled method had the better optimization effect, and the titer after the optimization was improved by 38.6% compared with the initial degradation titer. After the optimization by the BPGA coupled method, the optimal medium composition for the shakeflask fermentation of Burkholderia sp.ZYB002 was: glucose0.6763%, corn flour 1.2%, olive oil 1.8034%, urea (nitrogen content) 0.05%, K2HPO4 0.2%, NaHCO3 0.1%, Tween 80 1.0%, and initial pH 8.5. The culture condition was as follows: the fermentation temperature was 30℃, the inoculation quantity was 3.3813%, the shaking speed was 220 r·min-1, the loaded liquid was 35 mL(250 mL triangular flask), and the culture time was 36 h.Key words: Pinus massoniana resin; Response surface; Neural network; Genetic algorithm; Culture medium optimization通常木材中含有一些脂肪酸、树脂酸、甘油三酸酯以及不皂化的化合物等脂溶性物质,依据树种、环境和季节的不同,这些脂溶性物质约占木材总量的2%~8%[1],在马尾松中的含量一般在4%以上[2]。
基于遗传算法优化的BP神经网络在考研结果预测中的应用
![基于遗传算法优化的BP神经网络在考研结果预测中的应用](https://img.taocdn.com/s3/m/8935b53a54270722192e453610661ed9ad51550c.png)
黑铉语言信麵与电睡China Computer & Communication2021年第1期基于遗传算法优化的B P神经网络在考研结果预测中的应用李驰(四川大学锦城学院计算机科学与软件工程系,四川成都611731)摘要:通过遗传算法先对BP神经网络的初始权值和阈值进行优化后,再将BP神经网络用于考研结果的预测模型中。
实验表明,这种优化后的预测模型因为克服了收敛速度慢、易产生局部最小等缺陷,比单纯使用BP神经网络建立的预测 模型准确度更高。
将这个预测模型用于考研报名之前供学生预测参考,方便学生做出合理的决策,具有一定的实际意义。
关键词:考研;预测;BP神经网络;遗传算法中图分类号:TD712 文献标识码:A文章编号:1003-9767 (2021) 01-038-04Application of BP Neural Network Based on Genetic Algorithms Optimization in Prediction of Postgraduate Entrance ExaminationLI Chi(Department of Computer Science and Software Engineering,Jincheng College of Sichuan University,Chengdu Sichuan611731, China) Abstract:F irs tly,the in itia l weight and threshold of BP neural network are optimized by genetic algorithm,and then BP neural netw ork is used in the pre diction model of the results o f the postgraduate entrance exam ination.The experim ent shows that the optim ized prediction model overcomes the shortcomings o f slow convergence speed and easy to produce local m inim um,so it is more accurate than the pre diction model established by BP neural network alone.This pre diction model can be used as a reference for students to make a reasonable decision before applying fo r postgraduate entrance examination.Key words:postgraduate entrance exam ination;prediction;BP neural network;genetic algorithms〇引言随着社会对于高素质知识型人才的需求越来越迫切,我 国报考研究生的人数呈现逐年大幅増加的趋势。
遗传算法在BP神经网络优化中的应用
![遗传算法在BP神经网络优化中的应用](https://img.taocdn.com/s3/m/ae1f20e10b4e767f5bcfce4c.png)
遗传算法在 BP 神经网络优化中的应用2O世纪80年代后期 ,多机器人协作成为一种新的机器人应用形式日益引起国内外学术界的兴趣与关注.一方面,由于任务的复杂性,在单机器人难以完成任务时,人们希望通过多机器人之间的协调与合作来完成.另一方面,人们也希望通过多机器人间的协调与合作,来提高机器人系统在作业过程中的效率。
1943年,Maeullocu和 Pitts融合了生物物理学和数学提出了第一个神经元模型。
从这以后,人工神经网络经历了发展、停滞、再发展的过程,时至今日正走向成熟,在广泛领域里得到了应用,其中将人工神经网络技术应用到多机器人协作成为新的研究领域。
本文研究通过人工神经网络控制多机器人完成协作搬运的任务—3 J,并应用遗传算法来对神经网络进行优化。
仿真结果表明,经过遗传算法优化后的搬运工作效率显著提高,误差降低.1 人工神经网络 ANN)的基本原理和结构人工神经网络(Artiifcial Neural Network,ANN)) 是抽象、简化与模拟大脑神经结构的计算模型,又称并行分布处理模型 J。
ANN 由大量功能简单且具有自适应能力的信息处理单元——人工神经元按照大规模并行的方式通过一定的拓扑结构连接而成。
ANN拓扑结构很多,其中采用反向传播(Back—Propa—gation,BP)算法的前馈型神经网络(如下图1所示),即BP人工神经网络,是人工神经网络中最常用、最成熟的神经网络之一 .BP网络模型处理信息的基本原理是:输入信号x;通过中间节点(隐层点 )作用于出节点,经过非线形变换,产生输出信Yk,网络训练的每个样本包括输入向量x和期望输出量 T,网络输出值Y与期望输出值T之间的偏差,通过调整输入节点与隐层节点的联接强度取值w;;和隐层节点与输出节点之间的联接强度Y以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数 (权值和阈值),训练即告停止.此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。
智能计算bp网络设计基于bp网络的分类和非线性函数逼近
![智能计算bp网络设计基于bp网络的分类和非线性函数逼近](https://img.taocdn.com/s3/m/ccb36d2967ec102de3bd890e.png)
1、基于BP网络的分类(1)问题的提出:在平直直角坐标系A 区域中 = x,y :x∈−4 ,0 ,y∈−4 ,0随机生成1000个点,令B 区域中的点为一类:B= x,y :x∈(−2.5 ,1) ,y∈(−2.5 ,1)A 区域的其他点为一类,现在利用BP神经网络学习这个分类,并用测试集C 中的点C= x k,y k: x k=−4+0.05k ,y k=−4+0.05k ,k=0,1,…,80测试C 中位于B 区域中的点能否被识别。
(2)网络的结构:net=newff([-4 0;-4 0],[n 2],{'logsig' 'logsig'},'trainlm','learngdm');(3)网络训练(采用不同的隐单元个数,使用常数及自适应学习率,加动量项,数值优化算法)采用不同的隐单元个数:隐层节点个数为n,本次实验取n=8和n=14并对其进行比较。
使用常数及自适应学习率:常数:net.trainParam.lr=0.1。
自适应学习率:'trainlm' 这个位置替换为'traingda' (在分类中并不能换)加动量项:'trainlm' 这个位置替换为'traingdm'(在分类中并不能换)数值优化算法:'trainlm' 这个位置替换为'traingdx'(在分类中并不能换)(4)网络测试与结果分析:①条件:隐层节点个数n=8 + 学习率常数net.trainParam.lr=0.1 + 梯度下降训练'trainglm'clear all;clc%给定训练点及目标值x=(rand(1,1000)*(-0.4))*10;y=(rand(1,1000)*(-0.4))*10;x=[x;y];T=zeros(2,size(x,2));for i=1:size(x,2);if abs(x(1,i)) < 2.5 && abs(x(1,i)) > 1 && abs(x(2,i)) < 2.5 && abs(x(2,i)) > 1 T(1,i)=1;endendfor i = 1:size(x,2);if T(1,i) == 1T(2,i) = 0;else T(2,i) = 1;endendinputs = x;targets = T;% 创建网络n = 8;net=newff([-4 0;-4 0],[n 2],{'logsig' 'logsig'},'trainlm','learngdm'); %Levenberg-Marquardtnet.inputs{1}.processFcns = {'removeconstantrows','mapminmax'}; %数据归一化net.outputs{2}.processFcns = {'removeconstantrows','mapminmax'}; %数据归一化%% 训练参数net.trainParam.epochs = 2000;net.trainParam.goal = 1e-4;net.trainParam.lr = 0.1;% 训练网络[net,tr] = train(net,inputs,targets);% 测试网络outputs = net(inputs);errors = gsubtract(targets,outputs); performance = perform(net,targets,outputs);%% 训练集合绘图figure(1);hold onfor i=1:size(x,2)if T(1,i)==1plot(x(1,i),x(2,i),'b*');endif T(2,i)==1plot(x(1,i),x(2,i),'r*');endend%% 模拟绘图figure(2);test=-4:0.05:0;output=[];[A,B]=meshgrid(test,test);C=[];v=size(test,2);for i=1:vC(1,1+(i-1)*v:i*v)=A(i,:);C(2,1+(i-1)*v:i*v)=B(i,:);endoutput=abs(net(C));N=zeros(1,v*v);for i=1:v*vif output(1,i)>=output(2,i)N(1,i)=1;endendplot3(C(1,:),C(2,:),N,'o');结果分析:说明8个隐藏层节点太少了,没有达到精度就到了最大迭代次数。
神经网络遗传算法极值寻优
![神经网络遗传算法极值寻优](https://img.taocdn.com/s3/m/d635663ad15abe23492f4d92.png)
神经网络遗传算法极值寻优【摘要】:阐明了遗传算法和神经网络结合的可行性和优越性,用遗传算法和神经网络结合的方法求解了非线性函数的最优解。
设计了用遗传算法训练神经网络权重的方法,实验结果表明了遗传算法快速学习网络权重的能力,并且能够摆脱局部极点的困扰。
【关键词】:遗传算法神经网络1. 引言智能包括高层次的是生物智能(BI),其次是人工智能(AI ),处于低层次的是计算智能(CI )。
在计算智能中,计算的概念是传统计算概念的拓展,计算对象不局限于数和字符,运算符号也不再局限于加减乘除等运算,在这个范畴内的加减乘除也需赋予新的含义[6]。
但一般来说,AI 偏重于逻辑推理,而CI 则偏重于数值计算。
现在,计算智能已取得一定的研究成果,其主要技术包括模糊技术、神经网络、进化计算等[ 5] 。
这几项技术各自均有了数十年的历史,但当时这些方法并未受到足够的重视,一是当时这些方法还不很成熟,二是受当时计算机软硬件的限制。
而这些方法一般需要较大的计算量,在实际应用中比较难实现[4]。
随着计算机技术的发展和普及,它们在最近这些年得到了突飞猛进的发展,引起了诸多领域专家学者的关注,成为一个跨学科的研究热点。
近年来,这些方法呈互相融合的趋势[ 3],它们之间的互补可以弥补相互之间的不足,从而获得更好的解决实际问题的能力。
如对模糊神经网络、模糊遗传算法、模糊分类器系统、用遗传算法优化模糊系统的隶属度函数及神经网络的进化设计方法等的研究都体现了这种融合的优点[ 1,2] 。
2. 问题描述对于非线性函数的极值问题,仅通过函数的输入输出数据难以准确寻找未知的非线性函数的极值。
这类问题的求解可以通过神经网络结合遗传算法来得到,利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。
本文用神经网络遗传算法寻优如下非线性函数极值。
该函数的全局最小值为0,对应的坐标为(0 ,0)。
虽然从函数方程和图形中很容易找出函数极值及极值对应坐标,但是在函数方程未知的情况下函数极值及极值对应坐标很难找到。
基于遗传和改进布谷鸟算法的_BP_神经网络建模
![基于遗传和改进布谷鸟算法的_BP_神经网络建模](https://img.taocdn.com/s3/m/1ddf5d0268eae009581b6bd97f1922791788be48.png)
第42卷第4期2023年8月沈㊀阳㊀理㊀工㊀大㊀学㊀学㊀报JournalofShenyangLigongUniversityVol 42No 4Aug 2023收稿日期:2022-07-15基金项目:辽宁省高等学校创新人才支持计划项目(2019058)作者简介:王秀莲(1965 )ꎬ女ꎬ教授ꎬ博士ꎬ研究方向为先进控制理论及应用ꎮ文章编号:1003-1251(2023)04-0019-07基于遗传和改进布谷鸟算法的BP神经网络建模王秀莲1ꎬ吴有根1ꎬ高宏伟1ꎬ胡㊀广2(1.沈阳理工大学自动化与电气工程学院ꎬ沈阳110159ꎻ2.沈阳航天新光集团有限公司ꎬ沈阳110861)摘㊀要:针对现代工业系统具有高度非线性的特点ꎬ以及采用BP神经网络对非线性系统建模易出现局部最优㊁过拟合或欠拟合的问题ꎬ提出采用遗传算法(GA)和改进布谷鸟算法(CS)优化BP神经网络建模的方法(GACSBP算法)ꎮ首先利用遗传算法自适应㊁全局搜索的特点优化神经网络拓扑结构ꎬ避免神经网络建模出现过拟合或欠拟合的问题ꎻ然后采用改进布谷鸟算法优化BP神经网络权值ꎬ加入惩罚项进一步防止神经网络建模时陷入局部最优ꎮ对NACA0012翼型自噪声数据进行建模ꎬ仿真结果表明ꎬ与BP神经网络相比ꎬ提出的GACSBP算法避免了局部最优ꎬ明显提高了模型预测精度ꎬ且所需迭代次数和时间均明显减少ꎮ关㊀键㊀词:BP神经网络建模ꎻ遗传算法ꎻ改进布谷鸟算法ꎻ惩罚项中图分类号:N945.12文献标志码:ADOI:10.3969/j.issn.1003-1251.2023.04.004BPNeuralNetworkModelingMethodBasedonGeneticAlgorithmandImprovedCuckooAlgorithmWANGXiulian1ꎬWUYougen1ꎬGAOHongwei1ꎬHUGuang2(1.ShenyangLigongUniversityꎬShenyang110159ꎬChinaꎻ2.ShenyangAerospaceXinguangGroupCo.ꎬLtd.ꎬShenyang110861ꎬChina)Abstract:AimingatthecharacteristicsofhighnonlinearityofmodernindustrialsystemsandtheproblemsoflocaloptimalityꎬoverfittingorunderfittingofmodelnonlinearsystemsbyusingBPneuralnetworksꎬamethodforoptimizingBPneuralnetworkmodeling(GACSBPalgorithm)usinggeneticalgorithm(GA)andimprovedcuckooalgorithm(CS)isproposed.Firstlyꎬthecharacteristicsofself ̄learningꎬself ̄adaptationandglobalsearchofge ̄neticalgorithmareusedtooptimizethetopologystructureofneuralnetworktoavoidover ̄fittingorunder ̄fittinginneuralnetworkmodeling.ThentheimprovedcuckooalgorithmisusedtooptimizetheweightsoftheBPneuralnetworkꎬandapenaltyitemisaddedtofurtherpreventtheneuralnetworkfromfallingintothelocaloptimumwhenmodeling.ModelingtheNACA0012airfoilself ̄noisedataꎬtheresultsshowthatcomparedwiththeBPneuralnetworkꎬtheproposedGACSBPalgorithmavoidslocaloptimizationꎬsignificantlyimprovesthepredictionaccuracyofthemodelꎬandsignificantlyreducesthenumberofiterationsandtime.Keywords:BPneuralnetworksmodelingꎻgeneticalgorithmꎻimprovedcuckooalgorithmꎻpenaltyitems㊀㊀随着现代科学技术和工程技术的不断发展ꎬ各类工业系统越来越复杂ꎬ对其采用基于解析被控对象的传统数学建模方法难以达到理想的效果ꎬ为此学者们提出了许多新的复杂系统建模方法[1]ꎮ目前主要的建模方法有灰色预测法㊁模糊数学法㊁神经网络法㊁专家系统法等ꎬ新的建模优化方法主要有模拟退火算法㊁粒子群算法㊁布谷鸟算法等ꎮ神经网络作为人工智能的底层模型ꎬ是一个高度非线性映射系统ꎬ可进行大规模信息的并行处理[2]ꎬ在现代建模方法中占据重要地位ꎮBP神经网络是一种最传统㊁也是应用最广泛的神经网络[3]ꎮBP神经网络建模机理是:利用历史输入输出数据训练神经网络ꎬ学习某种规则ꎬ使输入数据经过神经网络后ꎬ其结果能够接近期望输出[4]ꎮ为精确拟合非线性系统模型ꎬ应用BP神经网络建模尚需解决如下问题[5]:1)BP神经网络的结构设计不合理会导致过拟合或欠拟合ꎻ2)初始权值选取不合适会导致陷入局部最优解ꎮ针对上述问题ꎬBP神经网络建模研究的一个新方向是将具有随机全局搜索能力的算法与BP神经网络算法相结合ꎮ王小会等[6]采用粒子群算法优化神经网络结构和权值ꎬ并设计了一种动态协同粒子寻优方式ꎬ有效提高了神经网络的学习和识别能力ꎮ张启龙等[7]采用遗传算法对BP神经网络的拓扑结构和网络权值进行优化ꎬ并用于风电场功率预测ꎬ结果表明ꎬ采用优化后的模型明显提高了预测准确率ꎮ由此可见ꎬ将多种智能算法与神经网络算法结合并加以改进的方法能够提高建模的准确度与效率ꎮ相较于粒子群㊁蚁群等算法ꎬ布谷鸟算法(CuckooSearchꎬCS)由于参数少ꎬ收敛速度对于参数变化不敏感ꎬ不易陷入局部最优ꎬ算法中大步长和小步长交替使得全局搜索能力更强ꎮ因此ꎬ本文应用改进布谷鸟算法优化BP神经网络的权值与阈值ꎬ并通过遗传算法(GeneticAlgorithmꎬGA)获取最优神经网络拓扑结构ꎬ避免BP神经网络建模陷入局部最优以及过拟合或欠拟合的问题ꎬ同时提高收敛速度和精度ꎮ本文提出的建模方法简称为GACSBP算法ꎮ1㊀GACSBP算法原理GACSBP算法首先利用遗传算法确定BP神经网络拓扑结构ꎬ然后通过改进布谷鸟算法更新权值的方式训练BP神经网络权值ꎬ当获取最优权值后ꎬ计算该拓扑结构的适应度ꎬ根据适应度进行遗传操作ꎬ在多次遗传进化及权值更新中获得最优BP神经网络拓扑结构和权值ꎬ使神经网络建模的精度更高ꎮ1.1㊀BP神经网络一般三层BP神经网络的拓扑结构如图1所示ꎮ图1㊀三层BP神经网络结构㊀㊀根据实际系统确定BP神经网络的拓扑结构及随机生成的权值初值后ꎬ进行BP神经网络训练ꎬ具体过程如下[8]ꎮ设输入层的输入向量为X=(x1ꎬx2ꎬ ꎬxn)Tꎬ隐含层有nᶄ个神经元ꎬ隐含层的输出向量为H=(h1ꎬh2ꎬ ꎬhnᶄ)Tꎬ输出层有nᵡ个神经元ꎬ输出层的输出向量为O=(o1ꎬo2ꎬ ꎬonᵡ)Tꎬ输入层与隐含层间的权值为ωij(i=1ꎬ2ꎬ ꎬnꎻj=1ꎬ2ꎬ ꎬnᶄ)ꎬ阈值为ajꎬ隐含层与输出层间的权值为ωᶄjk(k=1ꎬ2ꎬ ꎬnᵡ)ꎬ阈值为bkꎬ则隐含层输出hj和输出层的输出ok为02沈㊀阳㊀理㊀工㊀大㊀学㊀学㊀报㊀㊀第42卷hj=f(ðni=1ωijxi-aj)ok=g(ðnᶄj=1ωᶄjkhj-bk)ìîíïïïï(1)式中:f表示隐含层激活函数ꎬ采用双极性Sigmoid函数ꎻg表示输出层激活函数ꎬ采用Purelin线性函数ꎮ由万能逼近理论ꎬ三层人工神经网络能够拟合任意函数ꎬ但为避免BP神经网络建模陷入局部最优的问题ꎬ引入一种元启发式算法 布谷鸟算法ꎬ通过改进布谷鸟算法进行神经网络权值更新ꎮ1.2㊀改进布谷鸟算法1.2.1㊀布谷鸟算法原理布谷鸟算法是一种模拟布谷鸟繁殖策略进行最优化问题求解的算法[9]ꎮ布谷鸟算法中每个卵表示一个解ꎬ每次迭代都使用产生的新解替换原来的劣解ꎮ该算法假设的三个理想条件为:每只布谷鸟每次只在随机选取的鸟巢中产一个卵ꎻ根据贪婪策略ꎬ卵最好的鸟巢将会被保留ꎻ鸟巢的数量一定ꎬ鸟巢内的卵被宿主鸟发现的概率为Paꎬ当卵被发现ꎬ则宿主鸟将卵丢弃或重建一个鸟巢[10]ꎮ按照上述三个理想条件ꎬ根据式(2)建立新的鸟巢ꎮw(t+1)A=w(t)A+α s (w(t)A-w(t)Best)(2)式中:w(t)A为第A个鸟巢的第t次迭代权值ꎬ也表示鸟巢的位置向量ꎻw(t)Best为第t次迭代最好的鸟巢ꎻs为移动步长ꎬ其服从Lévy分布ꎻα为步长因子ꎮMantegna提出的Lévy飞行的步长公式[11]为s=u|v|1βꎬ㊀1<βɤ3(3)式中:β为控制随机过程的尺度属性参数ꎬ通常取值为1.5ꎻu和v为服从正态分布的随机数ꎬu~N(0ꎬσ2)ꎬv~N(0ꎬ1)ꎬ参数σ表达式为σ=Γ(1+β)sin(πβ/2)βΓ[(1+β)/2]2(β-1)/2{}1β(4)式中Γ为标准Gamma函数ꎮ1.2.2㊀布谷鸟算法改进标准布谷鸟算法的步长因子α为定值ꎬ不利于算法求解最优值ꎮ当步长较大时ꎬ有利于全局搜索ꎬ提高搜索速度ꎬ但会降低搜索精度ꎻ当步长较小时ꎬ有利于局部搜索ꎬ提高搜索精度ꎬ但会降低搜索速度且易陷入局部最优[12]ꎮ引入布谷鸟算法中鸟巢的适应度可自动调整步长因子ꎬ使算法在搜索速度及精度上达到平衡ꎬ自适应步长因子计算式为αA=z-FmFA㊀(Fm<FA)(5)式中:αA为第A个鸟巢的步长因子ꎻz为常数ꎻFm为全局最优鸟巢适应度值ꎻFA为个体鸟巢适应度值ꎮ当个体鸟巢的适应度接近全局最优适应度时ꎬFm/FA增大ꎬ步长因子αA减小ꎬ否则ꎬFm/FA减小ꎬ步长因子αA增大[13]ꎮ1.2.3㊀惩罚项为维护布谷鸟算法的鸟巢多样性ꎬ通过对相近鸟巢中适应度低的个体添加惩罚项ꎬ降低该个体的适应度ꎬ使该个体在迭代中更易被淘汰ꎬ保证一个区域内只有一个最优个体ꎮ在群体中取任意两个鸟巢w1和w2ꎬ即取任意两个由神经网络权值构成的向量ꎬ适应度分别为F1和F2ꎬ计算鸟巢间的欧几里得距离dꎬ计算式为[14]d(w1ꎬw2)=㊀ðDc=1[w1(c)-w2(c)]2(6)式中:w1(c)和w2(c)分别表示w1和w2的第c个元素ꎻD表示神经网络权值个数ꎮ计算得到鸟巢间距d后ꎬ将其与设置的允许距离L比较ꎬ若d小于Lꎬ则比较两个鸟巢的适应度F1和F2ꎬ将较大的适应度值乘以惩罚项ꎬ惩罚项可设为10000ꎬ其作用是确保带惩罚项的个体能够被淘汰ꎮ1.3㊀遗传算法遗传算法是一种借鉴生物进化规律的计算方法[15]ꎬ由于其具有在模拟自然进化过程中搜索最优解的特点ꎬ将遗传算法与神经网络结合ꎬ通过遗传算法寻找到神经网络的最优拓扑结构ꎬ能够有效避免由于神经网络拓扑结构选择不合理而导致创建的模型过拟合或欠拟合的问题ꎮ遗传算法中的适应度是将训练集与验证集整体的均方误差和作为评价种群的指标ꎮ适应度函数为12第4期㊀㊀㊀㊀㊀王秀莲等:基于遗传和改进布谷鸟算法的BP神经网络建模F=1RðRxl=1(yxl-yxl︿)2+1VðVvr=1(yvr-yvr︿)2(7)式中:yxl为训练集输出ꎻyxl︿为训练集期望输出ꎻyvr为验证集输出ꎻyvr︿为验证集期望输出ꎻR为训练集数据数目ꎻV为验证集数据数目ꎮ2㊀GACSBP算法流程GACSBP算法流程如图2所示ꎮ图2㊀GACSBP算法流程图㊀㊀GACSBP算法的具体过程如下ꎮ1)对数据进行归一化处理ꎬ公式为[16]Gᶄi=Gi-GminGmax-Gmin(8)式中:Gi为数据集某一输入或输出变量ꎻGmin为输入或输出变量中的最小值ꎻGmax为输入或输出变量中的最大值ꎻGᶄi为归一化后的值ꎮ将训练集和测试集输入及输出数据按上式归一化处理ꎬ然后输入遗传算法和布谷鸟算法的参数ꎬ包括遗传算法的种群规模㊁进化代数㊁交叉概率㊁变异概率以及布谷鸟算法的鸟巢个数S㊁迭代次数Mꎮ2)采用二进制编码形式初始化遗传算法染色体ꎬ设定BP神经网络最大隐含层数为三层ꎬ每层最多有15个神经元ꎬ最少有4个神经元ꎬ故隐含层可用12位二进制串表示ꎬ每4位二进制串表示一层隐含层ꎬ当染色体解码后ꎬ若出现一个小于4的数ꎬ则隐含层个数减1ꎮ染色体编码形式为EC=[r1r2r3 r12](9)式中r1㊁r2㊁ ㊁r12的值为0或1ꎮ解码形式为DC=ð4q=12q-1rqð8q=52q-5rqð12q=92q-9rq[](10)3)根据染色体解码后的值确定BP神经网络的拓扑结构ꎬ网络输入层㊁隐含层及输出层节点数分别为n㊁nᶄ和nᵡꎮ4)确定每一鸟巢向量的元素总个数ꎬ计算式为D=nˑnᶄ+nᶄˑnᵡ+nᶄ+nᵡ(11)5)随机数初始化S个鸟巢的位置ꎮ6)将S个鸟巢位置作为BP神经网络的权值代入ꎬ并计算其适应度FAꎬ记录最佳适应度FmꎮFm计算式为FA=(yA-yA︿)2㊀A=1ꎬ2ꎬ ꎬS(12)式中:yA为模型实际输出ꎻyA︿为期望输出ꎮ7)判断迭代次数是否达到Mꎬ若未达到ꎬ从步骤8)继续运算ꎬ否则从步骤16)继续运算ꎮ8)将式(12)得出的适应度按降序排列ꎬ并从S个鸟巢中选取K个适应度较好的鸟巢位置Pꎮ9)应用式(2)更新所有的鸟巢位置ꎮ10)重新计算适应度ꎬ并将适应度按降序排列ꎬ得到S个鸟巢位置Pᶄꎮ11)合并P和Pᶄꎬ通过式(6)计算两两鸟巢间的欧氏距离ꎬ并给其中适应度较差的鸟巢添加惩罚项ꎮ12)将上一步中的鸟巢按适应度降序排列ꎬ取其中S个适应度较好的鸟巢ꎮ13)每个鸟巢生成一个对应随机数PAꎬ当PA>Paꎬ则该鸟巢按式(2)更新位置ꎬ否则保持不变ꎮ14)重新计算S个鸟巢适应度ꎬ记录最佳适应度Fnꎮ22沈㊀阳㊀理㊀工㊀大㊀学㊀学㊀报㊀㊀第42卷15)比较Fm和Fnꎬ保留适应度好的鸟巢ꎮ16)通过验证集测试ꎬ并利用式(7)计算遗传算法个体适应度ꎮ17)判断遗传算法是否完成进化代数ꎬ若未完成ꎬ则进行遗传操作(选择㊁交叉㊁变异)并返回第2)步计算ꎬ否则保留最优个体并退出ꎮ3㊀算法仿真翼型自噪声(AirfoilSelf ̄noise)数据集是以NACA0012机翼翼型进行风洞试验所测得ꎮ数据集中包括不同尺寸的NACA0012翼型ꎬ采用不同的风洞速度和迎角ꎬ翼型的跨度与传感器位置在试验中均相同ꎮ该数据集包含5个控制变量ꎬ分别为频率㊁迎角㊁弦长㊁自由流速度和吸力侧位移ꎬ1个测量变量为缩放声压级ꎮ将控制变量作为输入ꎬ测量变量作为输出ꎮ提取数据集中的1000组数据作为样本ꎬ随机选取其中的600组作为训练集用于训练建模ꎬ选取200组作为验证集用于选取神经网络隐含层结构ꎬ选取200组作为测试集用于最终测试ꎮ设置GACSBP算法中遗传算法的群规模为20㊁迭代次数为50㊁交叉概率为0.6㊁变异概率为0.3ꎻ改进布谷鸟算法的鸟巢数S=30㊁每次取优个数K=20㊁最大迭代次数M=50㊁最大欧式距离L=0.1㊁被宿主发现概率Pa=0.25㊁最大步长因子为1ꎻ将翼型自噪声数据中的频率㊁风洞迎角㊁风洞自由流速度㊁机翼弦长和机翼吸力侧位移作为神经网络输入ꎬ噪声声压级作为神经网络输出ꎬ学习速率为0.08ꎬ以随机数作为初始权值ꎮ表1为遗传算法优化神经网络结构不同隐含层拓扑结构对应的均方误差ꎮ表中隐含层结构表示每代最优隐含层结构ꎬ训练集均方误差是在训练集数据归一化后所得到的每代最优隐含层结构对应的均方误差ꎬ验证集均方误差代表验证集数据归一化后的每代最优隐含层结构对应的验证集均方误差ꎮ从表1中可以看出ꎬ当隐含层结构为[131013]及[12914]时ꎬ验证集均方误差远大于训练集均方误差ꎬ因此神经网络出现过拟合问题ꎻ遗传算法个体进化到16代开始ꎬ最优隐含层结构一直为[79]ꎬ故当隐含层层数为2ꎬ第一层节点数为7ꎬ第二层节点数为9时可得到最优BP神经网络拓扑结构ꎮ表1㊀不同隐含层结构验证结果均方误差10-2进化代数隐含层结构训练集均方误差验证集均方误差1[68]4.64544.67482[128]3.47383.46744[131013]3.27817.37156[75]3.07452.94537[127]2.64432.55378[12914]2.35166.153710[96]1.96211.836213[137]1.46421.423815[78]1.31641.343316[79]1.19871.197330[79]1.19871.197350[79]1.19871.1973㊀㊀为获得最佳神经网络隐含层拓扑结构ꎬ将训练后的神经网络通过验证集进行结构选择ꎮ通过验证集测试每一代最佳神经网络隐含层结构的均方误差ꎬ得到遗传算法进化曲线如图3所示ꎮ由图3可直观看出ꎬ当进化迭代到16次时ꎬ能够得到最佳隐含层拓扑结构ꎮ图3㊀遗传算法进化曲线㊀㊀图4和图5分别为传统BP神经网络和GACSBP神经网络建模后通过测试集进行预测的结果与真实值的对比ꎮ图4与图5所拟合的曲线均在BP神经网络拓扑结构经遗传算法寻优后所得到ꎬ即网络隐含层有两层ꎬ每层神经元分别为7和9ꎮ由图4和图5中可以看出ꎬ传统BP神经网络的预测结果与真实值之间存在较大误差ꎬ而GACSBP神经网络所得到的预测结果明显更为接近真实值ꎮ32第4期㊀㊀㊀㊀㊀王秀莲等:基于遗传和改进布谷鸟算法的BP神经网络建模图4㊀BP神经网络预测结果图5㊀GACSBP神经网络预测结果㊀㊀图6为传统BP神经网络和GACSBP神经网络两种算法对每个测试样本的预测误差值ꎮ由图6可以明显看出ꎬ除个别样本外ꎬGACSBP神经网络的预测误差远小于传统BP神经网络ꎮ图6㊀BP与GACSBP神经网络预测误差对比㊀㊀传统BP神经网络和GACSBP神经网络两种算法的训练曲线和测试曲线均方误差如表2所示ꎮ两种算法的建模效率对比如表3所示ꎮ表2㊀两种算法训练曲线和测试曲线均方误差%算法训练曲线测试曲线BP3.71343.4875GACSBP2.13421.9329表3㊀两种算法建模效率对比算法迭代次数计算时间/sBP1250.5457GACSBP500.1824㊀㊀由表2中传统BP神经网络与GACSBP神经网络所拟合的曲线均方误差对比上看ꎬ通过改进布谷鸟算法的BP神经网络测试曲线均方误差小于传统BP神经网络ꎮ由表3中传统BP神经网络建模与经布谷鸟算法优化权值后的BP神经网络建模所需迭代次数和时间对比可以看出ꎬ优化后的BP神经网络建模迭代次数为50次ꎬ远小于传统BP神经网络所需的125次ꎬ且优化后的BP神经网络建模所用时间也大大减少ꎮ4㊀结论使用改进布谷鸟算法优化BP神经网络建模ꎬ加入惩罚项ꎬ提高了布谷鸟算法种群的多样性ꎬ引入遗传算法进行BP神经网络拓扑结构寻优ꎮ分别使用传统BP神经网络与本文提出的GACSBP神经网络对NACA0012机翼翼型自噪声数据建模ꎬ结果表明ꎬ本文提出的GACSBP算法能够将模型均方误差控制在2%以内ꎬ且建模所需迭代次数和时间均明显少于传统BP神经网络ꎮ参考文献:[1]谢冉.复杂系统建模方法综述[J].现代防御技术ꎬ2020ꎬ48(3):31-36ꎬ68.[2]WANGPꎬWANGPꎬFANE.Neuralnetworkoptimi ̄zationmethodanditsapplicationininformationpro ̄cessing[J].MathematicalProblemsinEngineeringꎬ2021:6665703.[3]黄杰贤ꎬ刘燕ꎬ杨冬涛.基于BP神经网络的柚子分类研究[J].湖北农业科学ꎬ2018ꎬ57(24):112-115.42沈㊀阳㊀理㊀工㊀大㊀学㊀学㊀报㊀㊀第42卷[4]高宏岩ꎬ卞瑶瑶.基于SMPT ̄1000的反应器神经网络建模实验[J].实验技术与管理ꎬ2021ꎬ38(9):91-96.[5]王闪闪.基于群智能算法的神经网络建模研究[J].电子科技ꎬ2017ꎬ30(4):56-59.[6]王小会ꎬ薛延刚ꎬ李晓青.基于改进粒子群算法优化神经网络结构和权值[J].青海师范大学学报(自然科学版)ꎬ2020ꎬ36(1):16-21.[7]张启龙ꎬ王立威.基于遗传算法优化BP神经网络模型的风电功率预测[J].电子测试ꎬ2021(1):41-43. [8]郭婕ꎬ金海ꎬ沈昕格.基于神经网络PID算法的四旋翼无人机优化控制[J].电子科技ꎬ2021ꎬ34(10):51-55.[9]吴文红ꎬ崔玉莹ꎬ刘宁.基于布谷鸟算法的管网漏损定位模型[J].中国给水排水ꎬ2022ꎬ38(11):38-42. [10]SALGOTRARꎬSINGHUꎬSAHASꎬetal.Selfadap ̄tivecuckoosearch:analysisandexperimentation[J].SwarmandEvolutionaryComputationꎬ2021ꎬ60:100751.[11]MANTEGNARN.Fastꎬaccuratealgorithmfornumer ̄icalsimulationofLévystablestochasticprocesses[J].PhysicalReviewEꎬ1994ꎬ49(5):4677-4683. [12]ZHANGLPꎬYUYLꎬLUOYXꎬetal.Improvedcuckoosearchalgorithmanditsapplicationtopermuta ̄tionflowshopschedulingproblem[J].JournalofAl ̄gorithmsandComputationalTechnologyꎬ2020ꎬ14:1-12.[13]梁毛毛ꎬ肖文ꎬ王李进ꎬ等.带全局-局部最优步长比例因子的布谷鸟搜索算法[J].南京师范大学学报(工程技术版)ꎬ2022ꎬ22(2):56-62ꎬ72.[14]唐宇政.基于欧式距离的判别分析:鸢尾花分类问题探究[J].现代商贸工业ꎬ2019ꎬ40(9):183-185. [15]梁智珲.遗传算法优化前向神经网络结构和权重矢量研究[J].信息与电脑(理论版)ꎬ2019(14):37-38ꎬ43.[16]柯超ꎬ甘屹ꎬ王俊ꎬ等.基于BP神经网络辨识模型的PEMFC系统建模[J].软件工程ꎬ2020ꎬ23(3):14-16ꎬ8.(责任编辑:宋颖韬)(上接第18页)[6]沈丽娜ꎬ白勇ꎬ宗亮.一种面向卫星网络的TCP改进算法研究[J].海南大学学报(自然科学版)ꎬ2015ꎬ33(4):327-332.[7]张奎ꎬ刘晨.基于异构网络的TCPVegas拥塞控制算法改进研究[J].伊犁师范学院学报(自然科学版)ꎬ2021ꎬ15(2):56-61.[8]VERMALPꎬKUMARM.AnIoTbasedcongestioncontrolalgorithm[J].InternetofThingsꎬ2020ꎬ9(C):100157.[9]杨力ꎬ李静森ꎬ魏德宾ꎬ等.一种高动态卫星网络的拥塞控制算法[J].宇航学报ꎬ2014ꎬ35(8):953-960. [10]姜月秋ꎬ关启学ꎬ田野ꎬ等.一种适用于地球空间传感器网络的TCPVegas模型[J].宇航学报ꎬ2020ꎬ41(2):234-244.[11]李鹏ꎬ陈元琰ꎬ罗晓曙.无线异构网络环境中基于拥塞状态区分的TCPVegas改进算法[J].计算机应用ꎬ2010ꎬ30(2):309-311ꎬ326.[12]曾高雄ꎬ胡水海ꎬ张骏雪ꎬ等.数据中心网络传输协议综述[J].计算机研究与发展ꎬ2020ꎬ57(1):74-84. [13]何荣希ꎬ孙皓.基于OPNET的TCP拥塞控制算法教学实验设计[J].教育现代化ꎬ2019ꎬ6(96):182-184.[14]姚明明ꎬ王学华ꎬ王浩儒ꎬ等.低轨卫星通信网络半实物仿真系统构建与实现[J].电子信息对抗技术ꎬ2021ꎬ36(6):89-93.(责任编辑:蒋晓东ꎬ和晓军)52第4期㊀㊀㊀㊀㊀王秀莲等:基于遗传和改进布谷鸟算法的BP神经网络建模。
基于遗传算法的BP神经网络MATLAB代码
![基于遗传算法的BP神经网络MATLAB代码](https://img.taocdn.com/s3/m/7e70023e7fd5360cbb1adb24.png)
用遗传算法优化BP神经网络的Matlab编程实例(转)由于BP网络的权值优化是一个无约束优化问题,而且权值要采用实数编码,所以直接利用Matlab遗传算法工具箱。
以下贴出的代码是为一个19输入变量,1个输出变量情况下的非线性回归而设计的,如果要应用于其它情况,只需改动编解码函数即可。
程序一:GA训练BP权值的主函数function net=GABPNET(XX,YY)%--------------------------------------------------------------------------% GABPNET.m% 使用遗传算法对BP网络权值阈值进行优化,再用BP算法训练网络%--------------------------------------------------------------------------%数据归一化预处理nntwarn offXX=[1:19;2:20;3:21;4:22]';YY=[1:4];XX=premnmx(XX);YY=premnmx(YY);YY%创建网络net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'tra inlm');%下面使用遗传算法对网络进行优化P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;%隐含层节点数S=R*S1+S1*S2+S1+S2;%遗传算法编码长度aa=ones(S,1)*[-1,1];popu=50;%种群规模save data2 XX YY % 是将 xx,yy 二个变数的数值存入 data2 这个MAT-file,initPpp=initializega(popu,aa,'gabpEval');%初始化种群gen=100;%遗传代数%下面调用gaot工具箱,其中目标函数定义为gabpEval[x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 11],'maxGenTerm',gen,...'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);%绘收敛曲线图figure(1)plot(trace(:,1),1./trace(:,3),'r-');hold onplot(trace(:,1),1./trace(:,2),'b-');xlabel('Generation');ylabel('Sum-Squared Error');figure(2)plot(trace(:,1),trace(:,3),'r-');hold onplot(trace(:,1),trace(:,2),'b-');xlabel('Generation');ylabel('Fittness');%下面将初步得到的权值矩阵赋给尚未开始训练的BP网络[W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x);net.LW{2,1}=W1;net.LW{3,2}=W2;net.b{2,1}=B1;net.b{3,1}=B2;XX=P;YY=T;%设置训练参数net.trainParam.show=1;net.trainParam.lr=1;net.trainParam.epochs=50;net.trainParam.goal=0.001;%训练网络net=train(net,XX,YY);程序二:适应值函数function [sol, val] = gabpEval(sol,options)% val - the fittness of this individual% sol - the individual, returned to allow for Lamarckian evolution % options - [current_generation]load data2nntwarn offXX=premnmx(XX);YY=premnmx(YY);P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;%隐含层节点数S=R*S1+S1*S2+S1+S2;%遗传算法编码长度for i=1:S,x(i)=sol(i);end;[W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x);程序三:编解码函数function [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x)load data2nntwarn offXX=premnmx(XX);YY=premnmx(YY);P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;%隐含层节点数S=R*S1+S1*S2+S1+S2;%遗传算法编码长度% 前R*S1个编码为W1for i=1:S1,for k=1:R,W1(i,k)=x(R*(i-1)+k);endend% 接着的S1*S2个编码(即第R*S1个后的编码)为W2for i=1:S2,for k=1:S1,W2(i,k)=x(S1*(i-1)+k+R*S1);endend% 接着的S1个编码(即第R*S1+S1*S2个后的编码)为B1for i=1:S1,B1(i,1)=x((R*S1+S1*S2)+i);end% 接着的S2个编码(即第R*S1+S1*S2+S1个后的编码)为B2for i=1:S2,B2(i,1)=x((R*S1+S1*S2+S1)+i);end% 计算S1与S2层的输出A1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);% 计算误差平方和SE=sumsqr(T-A2);val=1/SE; % 遗传算法的适应值想运行程序,直接在代码窗口输入GABPNET即可。
MATLAB神经网络(4)神经网络遗传算法函数极值寻优——非线性函数极值寻优
![MATLAB神经网络(4)神经网络遗传算法函数极值寻优——非线性函数极值寻优](https://img.taocdn.com/s3/m/4fc259ec9a89680203d8ce2f0066f5335a816737.png)
MATLAB神经⽹络(4)神经⽹络遗传算法函数极值寻优——⾮线性函数极值寻优4.1 案例背景y = {x_1}^2 + {x_2}^24.2 模型建⽴神经⽹络训练拟合根据寻优函数的特点构建合适的BP神经⽹络,⽤⾮线性函数的输⼊输出数据训练BP神经⽹络,训练后的BP神经⽹络就可以预测函数输出。
遗传算法极值寻优把训练后的 BP 神经⽹络预测结果作为个体适应度值,通过选择、交叉和变异操作寻找函数的全局最优值及对应输⼊值。
⽹络结构:2-5-1训练数据:3900,测试数据:1004.3 编程实现%% 基于神经⽹络遗传算法的系统极值寻优%% 清空环境变量clcclearinput=2*randn(2,2000);output=sum(input.*input);[inputn,inputps]=mapminmax(input);[outputn,outputps]=mapminmax(output);%% BP⽹络训练% %初始化⽹络结构net=newff(inputn,outputn,[10,5]);% 配置⽹络参数(迭代次数,学习率,⽬标)net.trainParam.epochs=500;net.trainParam.lr=0.1;net.trainParam.goal=0.000004;%⽹络训练net=train(net,inputn,outputn);%% 初始化遗传算法参数%初始化参数maxgen=200; %进化代数,即迭代次数sizepop=20; %种群规模pcross=[0.4]; %交叉概率选择,0和1之间pmutation=[0.2]; %变异概率选择,0和1之间lenchrom=[1 1]; %每个变量的字串长度,如果是浮点变量,则长度都为1bound=[-5 5;-5 5]; %数据范围individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为⼀个结构体avgfitness=[]; %每⼀代种群的平均适应度bestfitness=[]; %每⼀代种群的最佳适应度bestchrom=[]; %适应度最好的染⾊体%% 初始化种群计算适应度值% 初始化种群for i=1:sizepop%随机产⽣⼀个种群individuals.chrom(i,:)=Code(lenchrom,bound);x=individuals.chrom(i,:);%计算适应度individuals.fitness(i)=fun(x,inputps,outputps,net); %染⾊体的适应度end%找最好的染⾊体[bestfitness bestindex]=min(individuals.fitness);bestchrom=individuals.chrom(bestindex,:); %最好的染⾊体avgfitness=sum(individuals.fitness)/sizepop; %染⾊体的平均适应度% 记录每⼀代进化中最好的适应度和平均适应度trace=[avgfitness bestfitness];%% 迭代寻优% 进化开始for i=1:maxgenif(mod(i,10)==0)iend% 选择individuals=Select(individuals,sizepop);avgfitness=sum(individuals.fitness)/sizepop;%交叉individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);% 变异individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,i,maxgen,bound); % 计算适应度for j=1:sizepopx=individuals.chrom(j,:); %解码individuals.fitness(j)=fun(x,inputps,outputps,net);end%找到最⼩和最⼤适应度的染⾊体及它们在种群中的位置[newbestfitness,newbestindex]=min(individuals.fitness);[worestfitness,worestindex]=max(individuals.fitness);% 代替上⼀次进化中最好的染⾊体if bestfitness>newbestfitnessbestfitness=newbestfitness;bestchrom=individuals.chrom(newbestindex,:);endindividuals.chrom(worestindex,:)=bestchrom;individuals.fitness(worestindex)=bestfitness;avgfitness=sum(individuals.fitness)/sizepop;trace=[trace;avgfitness bestfitness]; %记录每⼀代进化中最好的适应度和平均适应度endfunction fitness = fun(x,inputps,outputps,net)% 函数功能:计算该个体对应适应度值% x input 个体% fitness output 个体适应度值%数据归⼀化x=x';inputn_test=mapminmax('apply',x,inputps);%⽹络预测输出an=sim(net,inputn_test);%⽹络输出反归⼀化fitness=mapminmax('reverse',an,outputps);%% 结果分析[r,c]=size(trace);plot(trace(:,2),'r-');title('适应度曲线','fontsize',12);xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);axis([0,200,0,1])x=bestchrom;disp([bestfitness x]);fun([0,0],inputps,outputps,net)ans =0.0507在遗传算法中没有y = {x_1}^2 + {x_2}^2函数的原型,由于神经⽹络的误差,最后的计算值离真实值有⼀定偏差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%读取数据
data=xlsread('data.xls');
%训练预测数据
data_train=data(1:113,:);
data_test=data(118:123,:);
input_train=data_train(:,1:9)';
output_train=data_train(:,10)';
input_test=data_test(:,1:9)';
output_test=data_test(:,10)';
%数据归一化
[inputn,mininput,maxinput,outputn,minoutput,maxoutput]=premnmx(input_train,output_train); %对p和t进行字标准化预处理
net=newff(minmax(inputn),[10,1],{'tansig','purelin'},'trainlm');
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
%net.trainParam.show=NaN
%网络训练
net=train(net,inputn,outputn);
%数据归一化
inputn_test = tramnmx(input_test,mininput,maxinput);
an=sim(net,inputn);
test_simu=postmnmx(an,minoutput,maxoutput);
error=test_simu-output_train;
plot(error)
k=error./output_train
%%code
function ret=Code(lenchrom,bound)
%本函数将变量编码成染色体,用于随机初始化一个种群
% lenchrom input : 染色体长度
% bound input : 变量的取值范围
% ret output: 染色体的编码值
flag=0;
while flag==0
pick=rand(1,length(lenchrom));
ret=bound(:,1)'+(bound(:,2)-bound(:,1))'.*pick; %线性插值,编码结果以实数向量存入ret 中
flag=test(lenchrom,bound,ret); %检验染色体的可行性
end
%%cross
function ret=Cross(pcross,lenchrom,chrom,sizepop,bound)
%本函数完成交叉操作
% pcorss input : 交叉概率
% lenchrom input : 染色体的长度
% chrom input : 染色体群
% sizepop input : 种群规模
% ret output : 交叉后的染色体
for i=1:sizepop %每一轮for循环中,可能会进行一次交叉操作,染色体是随机选择的,交叉位置也是随机选择的,%但该轮for循环中是否进行交叉操作则由交叉概率决定(continue控制)
% 随机选择两个染色体进行交叉
pick=rand(1,2);
while prod(pick)==0
pick=rand(1,2);
end
index=ceil(pick.*sizepop);
% 交叉概率决定是否进行交叉
pick=rand;
while pick==0
pick=rand;
end
if pick>pcross
continue;
end
flag=0;
while flag==0
% 随机选择交叉位
pick=rand;
while pick==0
pick=rand;
end
pos=ceil(pick.*sum(lenchrom)); %随机选择进行交叉的位置,即选择第几个变量进行交叉,注意:两个染色体交叉的位置相同
pick=rand; %交叉开始
v1=chrom(index(1),pos);
v2=chrom(index(2),pos);
chrom(index(1),pos)=pick*v2+(1-pick)*v1;
chrom(index(2),pos)=pick*v1+(1-pick)*v2; %交叉结束
flag1=test(lenchrom,bound,chrom(index(1),:)); %检验染色体1的可行性
flag2=test(lenchrom,bound,chrom(index(2),:)); %检验染色体2的可行性
if flag1*flag2==0
flag=0;
else flag=1;
end %如果两个染色体不是都可行,则重新交叉
end
end
ret=chrom;
%%Decode
function ret=Decode(lenchrom,bound,code,opts)
% 本函数对染色体进行解码
% lenchrom input : 染色体长度
% bound input : 变量取值范围
% code input :编码值
% opts input : 解码方法标签
% ret output: 染色体的解码值
switch opts
case 'binary' % binary coding
for i=length(lenchrom):-1:1
data(i)=bitand(code,2^lenchrom(i)-1); %并低十位,然后将低十位转换成十进制数存在data(i)里面
code=(code-data(i))/(2^lenchrom(i)); %低十位清零,然后右移十位
end
ret=bound(:,1)'+data./(2.^lenchrom-1).*(bound(:,2)-bound(:,1))'; %分段解码,以实数向量的形式存入ret中
case 'grey' % grey coding
for i=sum(lenchrom):-1:2
code=bitset(code,i-1,bitxor(bitget(code,i),bitget(code,i-1)));
end
for i=length(lenchrom):-1:1
data(i)=bitand(code,2^lenchrom(i)-1);
code=(code-data(i))/(2^lenchrom(i));
end
ret=bound(:,1)'+data./(2.^lenchrom-1).*(bound(:,2)-bound(:,1))'; %分段解码,以实数向量的形式存入ret中
case 'float' % float coding
ret=code; %解码结果就是编码结果(实数向量),存入ret中end。