您现在的位置:首页 >> 机器学习 >> 内容

基于遗传算法优化的BP神经网络图像分割matlab仿真

时间:2023/1/5 18:16:20 点击:

  核心提示:a182,包括程序操作录像...

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

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168