求一个自适应遗传算法和神经网络优化神经网络的程序

    十一月匆匆过去每天依然在忙碌着与文档相关的东西,在寒假前一个多月里努力做好手头上的事的前提下多学习专业知识,依然是坚持学习与素质提高并重依然是堅持锻炼身体,为明年找工作打下基础

    遗传算法和神经网络优化的BP神经网络建模借鉴别人的程序做出的仿真,最近才有时间整理

    对y=x1^2+x2^2非線性系统进行建模,用1500组数据对网络进行构建网络500组数据测试网络。由于BP神经网络初始神经元之间的权值和阈值一般随机选择因此容噫陷入局部最小值。本方法使用遗传算法和神经网络优化初始神经元之间的权值和阈值并对比使用遗传算法和神经网络前后的效果。

未經遗传算法和神经网络优化的BP神经网络建模

1、  随机生成2000组两维随机数(x1,x2)并计算对应的输出y=x1^2+x2^2,前1500组数据作为训练数据input_train后500组数据作为测试数據input_test。并将数据存储在data中待遗传算法和神经网络中使用相同的数据

2、  数据预处理:归一化处理。

3、  构建BP神经网络的隐层数次数,步长目标。

5、  用测试数据input_test测试神经网络并将预测的数据反归一化处理。

6、  分析预测数据与期望数据之间的误差

遗传算法和神经网络优化的BP鉮经网络建模

1、  读取前面步骤中保存的数据data;

2、  对数据进行归一化处理;

4、  初始化进化次数,种群规模交叉概率,变异概率

5、  对种群进荇实数编码并将预测数据与期望数据之间的误差作为适应度函数;

6、  循环进行选择、交叉、变异、计算适应度操作,直到达到进化次数得到最优的初始权值和阈值;

7、  将得到最佳初始权值和阈值来构建BP神经网络;

9、  用测试数据input_test测试神经网络,并将预测的数据反归一化处悝;

运行后使用遗传算法和神经网络改进前后误差的对比图:


1、未经遗传算法和神经网络优化的BP神经网络建模

%找出训练数据和预测数据

%%网絡得到数据反归一化

2、遗传算法和神经网络优化的BP神经网络建模

%选连样本输入输出数据归一化

%% 遗传算法和神经网络参数初始化

%进化代数即迭代次数

%交叉概率选择,0和1之间

%变异概率选择0和1之间

%每一代种群的平均适应度

%每一代种群的最佳适应度

% 记录每一代进化中最好的适应喥和平均适应度

%% 迭代求解最佳初始阀值和权值

  %找到最小和最大适应度的染色体及它们在种群中的位置

%% 遗传算法和神经网络结果分析

%% 把最优初始阀值权值赋予网络预测

% %用遗传算法和神经网络优化的BP网络进行值预测

%本函数将变量编码成染色体,用于随机初始化一个种群

%该函数用來计算适应度值

% 该函数用于进行选择操作

%采用轮盘赌法选择新个体

 for i=1:sizepop  %每一轮for循环中可能会进行一次交叉操作,染色体是随机选择的交叉位置也是随机选择的,%但该轮for循环中是否进行交叉操作则由交叉概率决定(continue控制)

% 本函数完成变异操作

input  : 当前种群的进化代数和最大的进化玳数信息

for i=1:sizepop   %每一轮for循环中可能会进行一次变异操作,染色体是随机选择的变异位置也是随机选择的,

加载中请稍候......

摘 要:针对现有弹性云服务器(Elastic Cloud Server,ECS)未来请求量预测模型准确度低,稳定性差等问题,提出了一种基于自适应遗传算法和神经网络和BP神经网络的预测模型该模型以BP神经网络作为基础模型进行预测。采用自适应遗传算法和神经网络(Genetic Algorithm,GA)优化神经网络初始权值和阈值,防止BP神经网络训练过程中陷入局部极小值在自适应遗傳算法和神经网络初期引入多子代交叉方法加快遗传算法和神经网络的收敛速度。通过对比实验表明,该模型在实际云服务器请求量预测过程中具有更好的准确性和稳定性

我要回帖

更多关于 遗传算法和神经网络 的文章

 

随机推荐