1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y52cm5xy
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
将遗传算法(GA)与BP神经网络相结合,使用GA优化BP神经网络的主要参数。然后将影响输出响应值的多个特征因素作为GA-BP神经网络模型的输入神经元, 输出响应值作为输出神经元进行预测测试。
4.部分源码
function [ net ] = gabptrain( gaP,bpP,P,T )
%gabptrain 结合遗传算法的神经网络训练
% gaP 为遗传算法的参数信息.[遗传代数 最小适应值]。
% bpP 为神经网络参数信息。[最大迭代次数 最小误差]
% P 为样本数组
% T 为目标数组
[W1, B1, W2, B2] = getWBbyga(gaP);
net = initnet(W1, B1, W2, B2,bpP);
net = train(net,P,T);
.........................................................
%遗传神经网络训练示例
gaP = [100 0.00001];
bpP = [500 0.00001];
load('data\sample.mat');
gabptrain( gaP,bpP,p,t )
%神经网络分割示例
load('data\net.mat');
img = imread('image\y.bmp');
bw = segment( net,img ) ;
figure;
subplot(2,1,1);
imshow(img);
subplot(2,1,2);
imshow(bw);
%传统BP训练
%出现的结果,可能收敛不到目标值,或者收敛步数太长(356步)
epochs = 2000;
goal = 0.00001 ;
net = newcf([0 255],[6 1],{'tansig' 'purelin'});
net.trainParam.epochs = epochs;
net.trainParam.goal = goal ;
load('data\sample.mat');
net = train(net,p,t);
%遗传BP训练
%遗传算法寻找最优权值阈值会用一些时间,
gaP = [100 0.00001];
bpP = [500 0.00001];
gabptrain( gaP,bpP,p,t );
A_182