GA-BP神经网络仿真
基于GA—BP神经网络系统的滚珠丝杠热误差建模

关键词 :滚珠丝杠 ;热误差 补偿 ;有限元 ;G A -B P 中图分类号 :T H I 6 1 文献标识码 :A 文章编号 :1 0 0 9 -0 1 3 4 ( 2 0 1 5 ) 0 9 ( 下) 一 0 1 0 6 -0 4
=
T X1 6 0 0 G 镗铣 加 工 中心 进给 系统 的滚 珠丝 杠进 行热 特性
分 析 ,获得 丝杠 的温 度 和热 误差 数据 ,然 后分 别建 立传
统B P 神 经 网络 和GA — B P 神经 网络 模 型 ,对 滚 珠 丝 方法 的预测 效 果 。
( 1 . 沈 阳建筑大学 交通 与机械工程学院 ,沈阳 1 1 0 1 6 8 ;2 . 沈阳理工大学 机械工程学院 ,沈阳 1 1 0 1 5 9 )
摘 要 :滚珠 丝杠是数控机床进给系统的关键部件 ,其热变形影 响机床的定位误差。为提高数控机床 的 精度 ,提出一种基于G A— B P 神经 网络的热误差预测方法 。以T X 1 6 0 0 G 镗铣加工中心进给系 统
图 1 滚 珠 丝 杠 系统 三 维 简 图
为 了方 便有 限元 分析 ,必 须对 有 限元模 型作 出以下
假设 J :
1 )忽 略滚 珠 丝杠 上 的螺 纹 ,倒 角和 退 刀槽 等 对 有 限元 分析 影 响较小 的结构 ; 2 )丝杠 螺母副和轴 承摩擦 产生 的热 量恒定 不变 的;
差 建 模 中,但 是B P 神 经 网络 收 敛速 度 慢 ,容 易 陷入 局
部 极值 。针 对上 述 问题 ,本文 首先 运用 A NS YS 软 件对
1 . 2 轴承及丝杠螺母副的发热量计算 们 , ”
基于GA-改进BP神经网络算法在大电网短路电流预测中的应用

目前 我 国部分 地 区的 20千伏 和 5 0千 伏 网络 2 0 已相 当密集 , 路 电流 问 题 十分 突 出。如 华 东 地 区 短
维普资讯
第2 5卷 第 4期
20 06年 1 0月来自电 工 电 能 新 技 术
Adv c d Te h oO fE e tia mae c n lWeo l crc lEngn ei g a d ie rn n
Vo . 5.No. 12 4
中 图分 类 号 : M 1 T 73 文献标识码 : A 文章 编 号 :10 —0620 )404 — 0 3 7 (0 60 ・030 3 4
1 引 言
随着 我 国经 济 的 高 速 发展 , 会 对 电力 的 需求 社 日益增 加 , 同时 由于 电力 系统 规模 不 断扩 大 、 网计 联 划逐 步实 施等原 因 , 使 得 电 网面 临 越 来越 多 的 问 都 题 , 中一个 突 显 的 问题 就 是 电 网短 路 电流 水 平 逐 其
一
与传统 的短 路计算 方 法 相 比 , 仅 预 测 结 果 可 以为 不
电力部 门在进 行 电 网规划 与 建设 以及采 用 措施 限制
步增 长 , 主 网架 输 电瓶 颈 与 50 V输 电线 短 路 其 0k 负荷增 长及 网络结 构 情况 对短 路 电流 进行计 算 和预
容 量越 限 间的矛 盾 将 越 来越 突 出 。 因此 , 据 电力 根 测 分析 显得 日趋 迫 切 , 已成 为 提 高 电 网安 全 可 靠 这 性 以及合 理平 衡 电 网 短路 容 量 和输 电容 量 的 资 源 、 减 少设 备投 资 的重要 研究课 题 之 一 。 传 统 的计 算 短路 电流的方 法 主要 是将 负荷 值 及 网络参数 代入 相 应 的软件程 序 中对 电网进 行短 路 电 流计算 。当电 网的 规模 较 大 , 虑 受 负荷 变 化 的短 考 路 电流水 平 时 , 每次 计 算 的初 始 数据 的输 入 会 耗 费
用GA训练BP网络的权值、阈值从而优化神经网络

% 计算误差平方和
SE=sumsqr(T(i)-A2);
sum=sum+SE;
end
eval=10/sum; % 遗传算法的适应值
>>file:bpinit.m
% BP网络初始化:给出网络的训练样本P、T,
% 输入、输出数及隐含神经元数R,S2,S1
end
end
% 接着的S1*S2个编码(即第R*S1个后的编码)为W2
for i=1:S2
for k=1:S1,
W2(i,k)=x(S1*(i-1)+k+R*S1);
end
end
% 接着的S1个编码(即第R*S1+S1*S2个后的编码)为B1
[P,T,R,S1,S2,S]=bpinit;
numv=size(sol,2)-1;
x=sol(1:numv);
eval=f(x);
>>file:f.m
function [eval]=f(sol)
numv=size(sol,2);
% tic,
% % BP网络初始化
% [P,T,R,S1,S2,S]=bpinit;
% bounds=ones(S,1)*[0.1 0.9];
% % 初始种群个数
% num=60;
% pop=initializega(num,bounds,'fitness');
B2(i,1)=x((R*S1+S1*S2+S1)+i);
end
% 计算S1与S2层的输出
for i=1:100
x1=W1*P(i)+B1;
GA优化BP网络代码

根据他人的代码,稍微改进后,并附上个人对代码的理解情况。
采用遗传算法(GA)对BP网络的权值进行优化。
其思路如下:(1)根据BP的输入值和目标值,确定好BP网络的输入层单元数、隐层单元数(本例只处理1个隐层的情况;多个隐层的方法类似,主要是在构造GA种群基因时有所差异)、以及输出层的单元个数。
(2)根据BP网络的各层单元数来确定其输入层与隐层之间的权值w12,和隐层输出值b1,以及隐层到输出层的权值w23,和输出层输出b2。
这四个值各个元素的组合就组成了一个基因,即根据他们来确定基因长度。
这一步非常重要!可根据以下代码进行理解。
% 权值矩阵分配% 输入到隐层用w_he表示,3x4,3表示输入层个数,4表示输出层个数% w_he=[chrom(i,1) chrom(i,5) chrom(i,9) chrom(i,13);% chrom(i,2) chrom(i,6) chrom(i,10) chrom(i,14);% chrom(i,3) chrom(i,7) chrom(i,11) chrom(i,15)];%以下for循环的作用是将某个基因,分别转换为bp网络所对应的权值或输出值。
% 其中chrom(i,:)表示第i个基因的所有元素% in_num表述输入层单元个数% n表示基本的元素个数% w_he表示输入层到输出层权值;w_out表示因此到输出层的权值% b_he表示隐层输出向量;b_out表示输出层的输出向量。
for j=1:nw_he(:,j)=chrom(i,(j-1)*(in_num+1)+1:j*(in_num+1)-1);w_out(j)=chrom(i,(in_num+1)*n+j);b_he(j)=chrom(i,(in_num+1)*j);endb_out=chrom(i,len);% 隐层到输出层用w_out表示,4x1% w_out=[chrom(i,17) chrom(i,18) chrom(i,19) chrom(i,20)];% b_he=[chrom(i,4) chrom(i,8) chrom(i,12) chrom(i,16)];% b_out=chrom(i,21);(3)确定好权值与基因的对应关系后。
毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc

编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的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 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
基于PSO-GA-BP_神经网络的土体参数反演

Value Engineering0引言近年来,人口激增导致城市空间使用紧张、交通压力激增,为了缓解这一矛盾,城市空间正在向深度方向发展[1]。
地下城市空间工程受场地地质、水文、周边建筑物、地下管线限制,需要准确、有效地预测其深基坑的变形[2]。
目前数值模拟预测方法被广泛运用,获取准确的土体参数是确保预测精度的关键,而土体参数反演方法是获取参数的重要手段。
国内外学者对反演方法已经有了一定程度的研究。
Gioda 等[3]通过利用单纯形法、拟梯度法以及Powell 法等优化方法,对岩土体的力学参数进行反演。
Zhang 等[4]采用最小二乘法反演计算土体参数,利用反演后的土体参数预测挡土结构深层水平位移。
程秋实等[5]采用粒子群算法结合支持向量回归机对基坑土体参数反分析,结果表明反演效果良好。
在土体参数反演领域,尽管BP 神经网络被广泛应用,但其存在网络结构构建难度大和收敛速度慢等缺点。
为了解决这些问题,本文引入了PSO 算法和GA 算法,提出了PSO-GA-BP 神经网络土体参数反演模型,优化了BP 神经网络的结构和参数,从而提高模型的性能和准确性。
1PSO-GA-BP 神经网络尽管BP 神经网络在土体参数反演方面有着广泛的应用,但其存在网络结构构建难度大、收敛速度慢等缺点。
同时,GA 算法在参数设计中的并行机制发挥不足、PSO 算法在处理高维数复杂问题时可能出现早期收敛[6],为了进一步提高土体参数反演的效率和准确性,这些都是需要考虑和改进的问题。
基于此,本文提出PSO-GA-BP 神经网络土体参数反演模型,其同时具有粒子群算法及遗传算法的优点,而且优化了BP 神经网络中存在的问题。
PSO-GA-BP 神经网络算法具体步骤如下,其流程图见图1。
①确定神经网络输入层、输出层及隐含层的节点数量。
②对适应度函数进行求解,据此来判断个体和群体的极限值。
③随机选择每个粒子2/3的位置,然后对粒子速度进行变异操作。
GA-BP在数控机床结合面动态特性建模中的应用

atr t si on fCNC,T i p p rEsa l h saNe rln t r d l fd n mi h rcei isi cei i nj ito sc h s a e tbi e u a ewok mo e y a cc aa trs c n s o t
( 神经 网 络拓 扑结 构 a ) () b 隐含 层 节点 局部 放 大图
图 2 结 合 面 动 态 特 性 神 经 网 络 预 测 模 型
因 以对 不 难 此建 立准 确 的理 论 表达式 。 。
温淑华 、 张学 良 、 黄玉 美 等 人 曾 利用 B P神 经 网 络对 结 合 面基 础 特 性 参 数 进 行 建 模 并 取 得 了不 错 的成 绩 。但是该 方 法 有 它 的 不 足 之 处 , 为 网络 权 值 作
z f 6 2 2@ 1 3 c r 。 x8 1 0 6 . o n
21 0 2年 2月
周喜 峰 , :G . P在 数控 机床 结合 面 动态特 性建 模 中的应用 等 AB
-1 3・
模型 , 文引 入 了遗 传算 法 来 优化 B 本 P神经 网络 的结
2 数 控 机 床 结 合 面 特 性 的 GA B - P神 经 网络
基 金 项 目 :高 档 数 控 机 床与 基 础 制 造 装 备 ” 技 重 大 专 项 ( 0 9 X 4 1 0 6 “ 科 2 0 Z 0 0 4— 3 ) 作 者 简 介 : 喜 峰 ( 96 ) 男 , 苏苏 州 人 , 京 理 工 大 学 机 械 工 程 学 院 硕 士 , 要 研 究 方 向 为 网 络 化 制 造 , 进 制 造 技 术 , E —ma ) 周 18 一 , 江 南 主 先 ( i l
基于GA的BP神经网络智能

(k )]
⎫ (k ) ⎪ ⎬ ⎪ ⎭
(13) i=1,2,…,N
式中, ωij(2) 为隐层权系数, ƒ [.]为隐层激发函数, ƒ [.]=tanh(x)。上角标(1)、(2)、
(3)分别对应输入层、隐含层、输出层。 网络的输出层的输入、输出为
n e t (n3 ) ( k ) = O O O O
侯树文 李艳华 杨科科 柏 镇
(华北水利水电学院动力系,河南郑州 摘 450008)
要:水力发电机组是一个非线性、时变系统,常规 PID 控制不能达到较好的控制效果。提出了一种基
于遗传算法、BP 神经网络和 BRF 神经网络的智能 PID 控制方法。文中讨论了智能控制系统的结构,GA、 BP、 BRF 的算法以及水电机组的数学模型。 对水电机组采用智能 PID 控制器和常规 PID 控制器的动态特性 进行了分析,结果表明,采用智能 PID 控制器的水电机组具有更好的控制精度和动态特性。 关键词:水电机组 PID 控制 遗传算法 神经网络 Abstract:Hydroelectric power generating unit is a non-linear, time-variable, high step system, so the traditional PID control can’t get good controlling performance. Proposed an intelligent PID control method based on genetic algorithm, BP neural network and BRF neural network. Discussed the structure of the intelligent control system, GA、 BP、 BRF algorithms and mathematical model of the unit respectively. Analysis the dynamic characteristics of the unit, which used intelligent PID controller and traditional PID controller respectively, the results showed that the unit with intelligent PID controller has better accuracy and dynamic characteristics. Keywords:Hydroelectric power generating unit PID controller Genetic algorithm Neural network
GA-BP神经网络应用实例之MATLAB程序

GA-BP神经网络应用实例之MATLAB程序% gap.xls中存储训练样本的原始输入数据 37组% gat.xls中存储训练样本的原始输出数据 37组% p_test.xls中存储测试样本的原始输入数据 12组% t_test.xls中存储测试样本的原始输出数据 12组% 其中gabpEval.m适应度值计算函数,gadecod.m解码函数%--------------------------------------------------------------------------nntwarn off;% nntwarn函数可以临时关闭神经网络工具箱的警告功能,当代码使用到神经% 网络工具箱的函数时会产生大量的警告而这个函数可以跳过这些警告但% 是,为了保证代码可以在新版本的工具箱下运行,我们不鼓励这么做pc=xlsread('gap.xls');tc=xlsread('gat.xls');p_test=xlsread('p_test.xls');t_test=xlsread('t_test.xls');p=pc';t=tc';p_test=p_test';t_test=t_test';% 归一化处理for i=1:2P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:))); endfor i=1:4T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:))); endfor i=1:2P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:)));end%--------------------------------------------------------------------------% 创建BP神经网络,隐含层节点数为12net=newff(minmax(P),[12,4],{'tansig','purelin'},'trainlm'); %-------------------------------------------------------------------------- % 下面使用遗传算法对网络进行优化R=size(P,1);% BP神经网络输入层节点数S2=size(T,1);% BP神经网络输出层节点数S1=12;% 隐含层节点数S=R*S1+S1*S2+S1+S2;% 遗传算法编码长度aa=ones(S,1)*[-1,1];popu=100;% 种群规模initPop=initializega(popu,aa,'gabpEval');% 初始化种群gen=500;% 遗传代数% 下面调用gaot工具箱,其中目标函数定义为gabpEval[x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPop,[1e-6 11],'maxGenTerm',...gen,'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);%--------------------------------------------------------------------------% 绘收敛曲线图figure;plot(trace(:,1),1./trace(:,3),'r-'); hold on;plot(trace(:,1),1./trace(:,2),'b-'); xlabel('遗传代数');ylabel('平方和误差');figure;plot(trace(:,1),trace(:,3),'r-'); hold on;plot(trace(:,1),trace(:,2),'b-'); xlabel('遗传代数');ylabel('适应度');legend('平均适应度值','最优适应度值'); %-------------------------------------------------------------------------- % 下面将初步得到的权值矩阵赋给尚未开始训练的BP网络[W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x); net.IW{1,1}=W1;net.LW{2,1}=W2;net.b{1}=B1;net.b{2}=B2;% 设置训练参数net.trainParam.epochs=3000;net.trainParam.goal=1e-6;% 训练网络net=train(net,P,T);w1=net.IW{1,1};w2=net.LW{2,1};b1=net.b{1};b2=net.b{2};% 测试网络性能temp=sim(net,P_test);yuce1=[temp(1,:);temp(2,:),;temp(3,:);temp(4,:)];for i=1:4yuce(i,:)=yuce1(i,:)*(max(t_test(i,:))-min(t_test(i,:)))+min(t_test(i,:));end%--------------------------------------------------------------------------% 测试输出结果之一figure;plot(1:12,yuce(1,:),'bo-');ylabel('切口外径 mm');hold on;plot(1:12,t_test(1,:),'r*-'); legend('测试结果','测试样本');figure;plot(1:12,yuce(1,:)-t_test(1,:),'b-');ylabel('误差 mm');title('测试结果与测试样本误差');figure;plot(1:12,((yuce(1,:)-t_test(1,:))/t_test(1,:))*100,'b*'); ylabel('百分比');title('测试结果与测试样本误差');% 测试输出结果之二figure;plot(1:12,yuce(2,:),'bo-'); ylabel('切口内径 mm');hold on;plot(1:12,t_test(2,:),'r*-'); legend('测试结果','测试样本'); figure;plot(1:12,yuce(2,:)-t_test(2,:),'b-');ylabel('误差 mm');title('测试结果与测试样本误差');figure;plot(1:12,((yuce(2,:)-t_test(2,:))/t_test(2,:))*100,'b*'); ylabel('百分比');title('测试结果与测试样本误差');% 测试输出结果之三figure;plot(1:12,yuce(3,:),'bo-'); ylabel('最大滚切力 N');hold on;plot(1:12,t_test(3,:),'r*-'); legend('测试结果','测试样本'); figure;plot(1:12,yuce(3,:)-t_test(3,:),'b-');ylabel('误差 N');title('测试结果与测试样本误差');figure;plot(1:12,((yuce(3,:)-t_test(3,:))/t_test(3,:))*100,'b*');ylabel('百分比');title('测试结果与测试样本误差');% 测试输出结果之四figure;plot(1:12,yuce(4,:),'bo-'); ylabel('切断时间 s');hold on;plot(1:12,t_test(4,:),'r*-');legend('测试结果','测试样本');figure;plot(1:12,yuce(4,:)-t_test(4,:),'b-');ylabel('误差 s');title('测试结果与测试样本误差');figure;plot(1:12,((yuce(4,:)-t_test(4,:))/t_test(4,:))*100,'b*'); ylabel('百分比');title('测试结果与测试样本误差');%--------------------------------------------------------------------------。
一种基于GA—BP混合算法的模糊神经网络控制器

搜索算法; 遗传算法等 。 P B 算法及其改进算法 的提出虽然解决 了前
馈 型 神 经 网络 的学 习 问 题. 是 , P算 法 过 分依 赖 于 网络 的初 始 状 但 B 态, 始 状 态 选 择 不 当, : 果 可 能很 差 或 者不 收敛 ; 外 , P算 初 使 得效 另 B 法 的全 局 搜 索 能 力 差 , 易陷 入 局 部 最 小 ” 。 P算 法 的优 势 是 实 极 “0 B
( col e u e n ni n et c ne W h nU i rt Sho o Rs r dE vo m na Si c f o ca r l e , u a nv sy ue W h n4 0 7 , hn ) Mi adn e i,H bi ua 30 0 C ia a D n a o 摘 要: 提出一种用于优化模糊神经 网络控制器参数 的 G —Pf 合算法, AB 昆 该算法一方面 由遗传算法保证 学习的全局收敛性, 克服梯度法
【 中图分类号 ]P 8 【 T 1 文献标识码 ] 【 A 文章编号 ]003 8 (0 8 0 —0 30 10 —8 6 2 0 ) 20 0 .3
1 引言
模糊神经 网络有多种学 习算法, 常见的主要有 : P算法 ; B 随机
式有很多种 ,在控制领域经 常采 用一种基 于零 阶 Ts模糊模型的 — 模糊神经网络 。 1所示为该模糊神 经网络 的结构. 网络 为一个 图 该wor s e tc a g rtm BP lo t y d :g nei lo h i ag r hm GA— i BP y rd a g rtm fz y n urln t r h b o ih i l u z e a ewo k
武 汉 理 工 大 学 自动 化 学 院 ( 北 武 汉 4 0 7 ) 张 素 文 湖 300 汪 丽 丽
GA-BP模型在煤质分析中的仿真研究

() C > , 1 ∑ ' k 其中k 样本数, 单 n 为 n为隐
i=U
>n ,c. 0 错 性 和优 良的非 线 性 逼 近能 力 ,但 存 在 容 易 陷 入 元数 ,n为输 入单 元数 。如 果 i = 。
( ) =v m+ ,其中,m为输出神经元 2 / + 口
1 3.c m 。 6 o
第 6期
马萌萌 ,等 G — P模型在煤质分析 中的仿真研究 AB
4 3
定 最 佳 的隐层 神经 元数 为 1 。 O
出层神经元节点的连接权值和阈值 。
输 入层 隐 含层 输 出层
输 出层 为 煤 的元 素分 析 数据 :碳 ( ) C 、氢 () c 、氧 ( ) H 、氮 ( 。 N)
B1 2 2进 行 初 始 化 ,在 编 码 中 ,采 用 实 数 ,W ,B 进行 编码 。
如图 1 ,每一层 由相应 个数 的节 点组 成 ,每 一
一
I
l\
)
F x ()
个节点代表一个神经元 ,层间的节点采用全互联方
—
式连接 ,本层节点之间则没有任何形式的连接。
输入 层 隐 含层 输 出层
一 l
1
竺
Y
8 文 献标 识码 :A
数据 以外 ,还有诸 如煤 的形成年代 、地质环境等
0 引 言
难以量化表示的一些因素 ,但从 目前对煤质分析
的研究现状来看 ,煤 的工业 分析数据对元 素分 析 P神经网络模型 近 年来 ,煤 炭 供 应 一 直 处 于 紧 张状 态 并 逐 年 数据的影响程度较大… ,因此 ,B 加剧 ,增加了电厂进煤煤质 的不稳 定性 ,容 易造 中采用 了 4个煤 的工业分 析数据 作为输 入节点 ,
第6章 基于GA优化的BP网络算法分析与MATLAB实现

第六章
MATLAB优化算法案例分析与应用
图6- 14 某工作面温度、湿度与通风量之间 的关系图
第六章
MATLAB优化算法案例分析与应用
适 应 度 曲 线 终 止 代 数 = 10 4.5
平均适应度
4
适应度
3.5
3
1
2
3
4
5
6
7
8
9 10 11
进化代数
图6- 15 遗传算法适应度曲线
第六章
MATLAB优化算法案例分析与应用
%
标记中心
[A, id] = max([s.Area]);
bw(labelmatrix(cc)~=id)=0;
bw = imdilate(bw,blk); % 膨胀
im_sep = immultiply(im_org,bw);
% figure,imshow(im_sep);title('seperate brain,gray matter and white matter')
%% 大脑灰白质提取 % lev2 = 50/255; % 阈值
% L = zeros(size(im_sep)); %0=背景
% L(im_sep<lev2 & im_sep>0) = 2; %2=灰质
第六章 MRI大 脑 图 像
MATLAB优化算法案例分析与应用
图6- 3 大脑灰白质原始图像
第六章
-0.1 -0.12
0
GA BP预 测 误 差 回归预测误差
5
10 15 20 25 30 35 40 45
误 差 error
图6- 18 GA_BP预测和回归预测工作面误差 比较
某扫雷犁系统GA-BP神经网络建模

2 GA-P 网络 的设 计 与 辨 识 B
针对 B P算法局部 极值 的缺点 , 虑使 用遗 传算 法 和 B 考 P算 法 结合 的 G A—B P算法。G A的特点是并行搜索 , 演算简单 , 索 搜 效 率高 , 不存在局 部收敛 ; A有 很强 的宏观搜 索能力 , 找到 全 G 且
Ab t a t: d l ih c n l d st e ee t h d a l y t m o e ti n w e i g p o g sp e e td b s d o h O s lt n o s r c A mo e c o cu e lcr y ru i s se f c r n mi e s e p n l u h wa r s n e a e n te C —i a i f wh h o c a a mu o AMESm n i l k i T AB.On t eb s f h smo e ,t ep p r e e r h ste mo e d n i c t nb s d o A— e r l i a d Smui n MA L n h a i o i s t d l h a e s a c e d l e t ai a e n G BP n u a r h i i f o n t r .T e ewo k h n。a x ei n f f i e i e t c t n w sma e i h sn n i e rs s m ,t e r s l l al h w i ai i . n ep r me to f n d n i ai a d n ti o l a y t ol i f o n e h e ut c e r s o t v ldt s y s y Ke wo  ̄ : y r AMESm ;Mi e s e p n lu h;E e t h d a l y tm ;GA- P n u a ew r i n w e ig p o g l cr y r u i s se o c B e r ln t o k
GA-BP

k1=K(1:m-1,1:n);
k2=K(m,1:n);
% 数据归一化
[kn,ps1]= mapminmax(k1,ps1);
%% BP神经网络
% 网络创建
net=newff(minmax(p),[S1,1],{'tansig','purelin'},'trainlm'); %%%S1为隐藏层的层数,7为输出层的层数,tansig为训练隐藏层数据的函数,purelin为训练输出层数据的函数
day=DAY';
day=day(:,2:end);
% 输入和输出样本
[m1,n1]=size(day);
%%%%%随机打乱矩阵的列,相当于随机进行样本排序nl变量长度,randperm(n1)产生长度为n的随机数列
day=day(:,randperm(n1));
A=day(m1,1:n1);
% 设置训练参数
net.trainParam.show=10;
net.trainParam.epochs=2000;
net.trainParam.goal=1.0e-3;
net.trainParam.lr=0.3;
% 网络训练
[net,tr]=train(net,p,t);
%BP仿真测试1 训练集精度
%% 程序说明
% 主程序:ga_bp.m
% 适应度函数:gabpEval.m
% 编解码子函数:gadecod.m
% 使用前需安装gaot工具箱,上述三个文件需放在同一文件夹中且将该文件夹
% 设置为当前工作路径
汽车声品质的GA-BP神经网络预测与权重分析

汽 车声 品质 的 GA — B P神 经 网络预 测 与权 重 分 析
高印寒 , 唐荣江 , 梁 杰 , 赵彤航。 , 张澧桐
( 1 .吉林大学 汽车仿真与控制 国家重, 实验室, 吉林 长春 1 3 0 0 2 5 ; 2 .吉林大学 仪器科学与电气 工程学院, 吉林 长春 1 3 0 0 6 1 ; 3 .中国第一汽车股份有限公司技术 中心 , 吉林 长春 1 3 0 0 6 2 )
GAO Yi n — h a n , TANG Ro n g — j i a n g , LI ANG J i e , ZHAO To n g ~ h a n g 。 , Z HANG Li — t o n g
( 1 .S t a t e K L a b o r a t o r y o f Au t o m o b i l e S i m u l a t i o n a n d C o n t r o l , J i l i n U n i v e r s i t y , C h a n g c h u n 1 3 0 0 2 5 , C h i n a ; 2 .C o l l e g e o f I n s t r u me n t a t i o n a n d E l e c t r i c a l E n g i n e e r i n g, J i l i n U n i v e r s i t y, C h a n g c h u n 1 3 0 0 6 1 , C h i n a ;
S o u nd q u a l i t y p r e d i c t i o n a nd we i g ht a na l y s i s o f v e hi c l e s b a s e d o n GA— BP n e u r a l n e t wo r k
基于混合GA—BP算法优化的神经网络在机器人地面控制中的应用

关键 词 : 经 网络 , P算 法 , 传 算 法 ,I 神 B 遗 PD
Absr c ta t A m bnn al i m f n ur n t r tann i f m e co iig gorh t or e al ewo k r iig s or d b c y ombiig P agoih an gen t ago i m o r nn B l r m d t ei l rh c t n obo t c toln onr , or t o e c i der o v r ome h s or m igs h t t e h t co n t a BP al i gorhm i u u l tap d o l al t s s al y r pe t a oc op i u t m m a d t as l n i h a ow s ee o n er p d fco v gen e weghs, c dn t h v t c i t ac or ig o t e ad anage ft e gl e opt o h ob i e c ig f en t ag i mals ar hn o g e i lorhm . i ag ih c t Ths lor m t c e eciel nd el l be s i te an f t y a r i y v ab u ed n h by o pa ig h t gorhms c m rn te wo al i t an a lzn t e e l o r l x m pl .hi d nay ig h rsut s f ea e a esT s ag im n alo f t ey lor s ca s e eci l be s d n o h il v u e i t erf ds e Ke wOr :eual ewor, y dsn r n t kBP gorh , n t ag i m , D al i m ge e i lor h PI t c t
第6章 基于GA优化的BP网络算法分析与MATLAB实现

交换,此时甲的数字为489,乙的数字为756;如果为数字2,则甲手上的8
和乙手上的5 交换,此时甲的数字为 759,乙的数字为486;如果为数字 3, 则甲手上的9 和乙手上的6 交换,此时甲的数字为 786,乙的数字为459;如
MATLAB优化算法案例分析与应用
% 输
% 隐
藏层
outputnum = 1; 出层 % 输
%构建网络
nntwarn off 告消除 net=newff(input_train,output_train,hiddennum); % 警
第六章
MATLAB优化算法案例分析与应用
交叉操作具体又是什么含义呢?打个比方,甲手上有789这三个数字,且
得到相应的权值和阈值,从而可以稳定的控制 BP神经网络结构
,实现问题的快速高效求解,并且大大地提高算法稳定性。
第六章
MATLAB优化算法案例分析与应用
•6.1 遗传算法
• 遗传算法(GA)是模仿自然界生物进化理论发展而来的一 个高度并行,自适应检测算法。遗传算法通过仿真生物个体, 区别个体基因变化信息来保留高适应环境的基因特征,消除低 适应环境的基因特征,以实现优化目的。遗传算法能够在数据
0.08
MATLAB优化算法案例分析与应用
GA BP预 测 误 差 0.06 0.04 0.02 0 -0.02 -0.04 -0.06 -0.08 -0.1 -0.12 回归预测误差
0
5
10
15
20 25 误 差 error
30Leabharlann 354045图6- 18 GA_BP预测和回归预测工作面误差 比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GA-BP神经网络仿真
[摘要]:本文主要是对基于遗传算法优化的BP神经网络(GA-BP)进行仿真,BP神经网络在BP神经网络中已经做详细介绍,本文首先介绍了遗传算法的基本原理,然后对遗传算法进行了描述,最后给出用遗传算法优化BP神经网络的程序。
[关键词]:GA-BP;遗传算法;仿真
1遗传算法
遗传算法(Genetic Algorithm, GA)起源于对生物系统所进行的计算机模拟研究。
它是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,借鉴了达尔文的进化论和孟德尔的遗传学说。
其本质是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。
1.1遗传算法基本原理
遗传算法GA—模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法。
(具有“生存+检测”的迭代过程的搜索算法)基于自然界“优胜劣汰,适者生存”的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。
反复循环,直至满足条件。
1.2遗传算法基本步骤
种群中的每个个体是问题的一个解,称为“染色体”,染色体是一串符号,如二进制字符串。
利用“适值”(适应性函数)测量染色体的好坏。
遗传算法基本操作分为:(1)选择操作:以一定概率选择旧群体个体到新群体中,个体被选中的概率跟适应度值有关个体适应度越好被选中改了吧越大。
(2)交叉操作:信息交换思想选两个个体交换组合产生新的优秀个体,染色体位置互换。
(3)变异操作:—以一定的低概率发生,染色体位置产生变异(通常取值0.001-0.01之间)。
遗传算法是具有高效启发式搜索、并行计算等特点,应用于函数优化、组合优化及生产调度等方面。
1.3 算法实现
1.3.1 种群初始化
个体编码方法为实数编码,每隔个体均为一个实数串,由输入层和隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4个部分组成。
个体包含了神经网络全部的权值和阈值,在网路结构一直的情况下,就可以构成一个结构、权值、阈值确定的神经网络。
1.3.2 适应度函数
根据个体得到BP神经网络的初始权值和阈值,用训练数据训练BP神经网络后预测系统输出,把预测输出个期望的输出之间的误差绝对值和E作为个体适应度值F 计算公式为:
F=k(∑abs(y i−o i)
n
i=1
)
式中,n为网络输出节点数;yi为BP神经网络第i个节点的期望输出oi为第i个节点的实际输出;k为系数。
1.3.3 选择操作
选择运算(或称为复制运算)把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。
一般要求适应度较高的个体将有更多的机会遗传到下一代群体中。
遗传算法选择操作有轮盘赌法、锦标赛法等多种方法。
选择轮盘赌法时,即基于适应度比例的选择策略,每个个体i的选择概率pi为:
{f i=
k
F i
P i=
J i ∑f i N
j=1
式中,Fi为个体i的适应度值,由于适应度值越小越好,所以在个体选择前对适应度
求倒数;k 为系数;N 为种群个体数目。
1.3.4 交叉操作
遗传算法每一次迭代都会生成N 条染色体,在遗传算法中,这每一次迭代就被称为一次“进化”。
那么,每次进化新生成的染色体是如何而来的呢?——答案就是“交叉”,你可以把它理解为交配。
交叉的过程需要从上一代的染色体中寻找两条染色体,一条是爸爸,一条是妈妈。
然后将这两条染色体的某一个位置切断,并拼接在一起,从而生成一条新的染色体。
这条新染色体上即包含了一定数量的爸爸的基因,也包含了一定数量的妈妈的基因。
由于个体采用实数编码,所以交叉操作方法采用实数交叉法,第k 个染色体ak 和第l 个染色体a_l 在j 为的交叉操作方法如下: {a kj =a kj (1−b )+a lj b
a lj =a lj (1−
b )+a kj b
式中,b 是[0,1]之间的随机数。
1.3.5 变异操作
交叉能保证每次进化留下优良的基因,但它仅仅是对原有的结果集进行选择,基因还是那么几个,只不过交换了他们的组合顺序。
这只能保证经过N 次进化后,计算结果更接近于局部最优解,而永远没办法达到全局最优解,为了解决这一个问题,我们需要引入变异。
变异很好理解。
当我们通过交叉生成了一条新的染色体后,需要在新染色体上随机选择若干个基因,然后随机修改基因的值,从而给现有的染色体引入了新的基因,突破了当前搜索的限制,更有利于算法寻找到全局最优解。
选取第i 个个体的第j 个基因aij 进行变异变异操作方法如下:
a ij ={
a ij +(a ij −a max )∗f (g ) r >0.5a ij +(a min −a ij )∗f (g ) r ≤0.5
式中,amax 为基因aij 的上界;amin 为基因的下界;是一个随机数;g 为当前迭代次数;Gmax 是最大的进化次数;r 为[0,1]间的随机数。
(一下是代码实现种群规模10,进化次数50次交叉概率0.4变异概率0.2)
1.5 GA-BP算法
遗传算法优化BP,包括神经网络结构确定、遗传算法优化和BP神经网络预测3个部分。
其中、用遗传算法优化BP神经网络的初始权值和阈值,使优化后的BP神经网络能够更好的预测函数输出。
遗传算法优化BP神经网络的目的是通过遗传算法得到更好的网络初始权值和阈值,其基本思想就是用个体代表网络的初始权值和阈值、个体值初始化的BP神经网络的预测误差作为该个体的适应度值,通过选择、交叉、变异操作寻找最优个体,即最优的BP神经网络初始权值,其算法流程如图1所示。
图1 GA-BP算法流程图
2GA-BP算法仿真
本文采用MATLAB对GA-BP算法进行仿真,在MATLAB软件中编程实现基于遗传算法优化的BP神经网络。
BP神经网络则使用神经网络工具箱,实现对方程组:
y=x12+x12
的输出数据进行预测。
2.1GA-BP算法伪代码
%数据准备
Data = y=x12+x12%方程组数据
save data input output
%设置初始化BP神经网络结构
net=newff(inputn,outputn,hiddennum,{'tansig','purelin'},'trainlm');
%遗传算法参数初始化
迭代次数=10;种群规模=30;
交叉概率=0.3;变异概率=0.1;
individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]);%将种群信息定义为一个结构体for i=1:种群规模%随机产生一个种群
编码
计算适应度
染色体的适应度
End
trace=[avgfitness bestfitness]; % 记录每一代进化中最好的适应度和平均适应度
%遗传操作
for num=1:进化迭代次数
选择
交叉
变异
计算适应度
for j=1:种群规模
选择个体
找到最小和最大适应度的染色体及它们在种群中的位置
代替上一次进化中最好的染色体
记录每一代进化中最好的适应度和平均适应度
End
figure(1)
平均适应度,最佳适应度曲线
% 把最优初始阀值权值赋予网络预测
把优化后的阈值、结构权值赋给BP神经网络
用遗传算法优化的BP网络进行值预测
%BP网络训练
[net,per2]=train(net,inputn,outputn);
% BP网络预测
数据归一化
inputn_test=mapminmax
仿真预测
an=sim(net,inputn_test);
%预测结果图
figure(2)
2.2实验结果
2.2.1 神经网络训练
图2 神经网络训练
神经网络的训练参数如图2所示,可以看出,经过遗传算法优化的神经网络收敛较快,并且不会有陷入局部极小值的问题。
2.2.2 适应度曲线
图3 适应度曲线
适应度函数的选取直接影响遗传算法的收敛速度以及能否找到最优解。
一般而言,适应度函数是由目标函数变换而成的。
在自然界中,似乎存在着一个上帝,它能够选择出每一代中比较优良的个体,而淘汰一些环境适应度较差的个人。
那么在遗传算法中,如何衡量染色体的优劣呢?这就是由适应度函数完成的。
适应度函数在遗传算法中扮演者这个“上帝”的角色。
遗传算法在运行的过程中会进行N次迭代,每次迭代都会生成若干条染色体。
适应度函数会给本次迭代中生成的所有染色体打个分,来评判这些染色体的适应度,然后将适应度较低的染色体淘汰掉,只保留适应度较高的染色体,从而经过若干次迭代后染色体的质量将越来越优良。
2.2.3 预测结果
图4 仿真结果
如图所示,GA-BP神经网络所产生的预测结果较为准确,几乎接近真实值。
因此用遗传算法对神经网络进行优化是可以取得明显效果的。
3总结
虽然,从上述仿真结果可以看出,对于纯BP神经网络容易陷入局部极小值的问题,在GA-BP算法中得到了较好的解决,数据预测精度也更高。
然而,该GA-BP算法仍存在收敛速度慢的问题。