版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(1730)
>
虫友互识
(131)
>
导师招生
(46)
>
考研
(39)
>
硕博家园
(28)
>
考博
(28)
>
论文投稿
(13)
>
招聘信息布告栏
(11)
>
基金申请
(11)
>
教师之家
(11)
>
博后之家
(10)
>
论文道贺祈福
(8)
>
找工作
(8)
>
公派出国
(7)
>
休闲灌水
(6)
>
有机交流
(4)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
MATLAB/Mathematica
»
求助bp神经网络遗传算法出错。
5
1/1
返回列表
查看: 1901 | 回复: 4
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
dy1029
新虫
(正式写手)
应助: 7
(幼儿园)
金币: 447.6
红花: 3
帖子: 369
在线: 699.3小时
虫号: 2663043
注册: 2013-09-17
[交流]
求助bp神经网络遗传算法出错。
已有1人参与
最近在学习神经网络遗传算法,参照网上的一些代码:
CODE:
% 清空环境变量
clc
clear
%% 网络结构建立
%节点个数
inputnum=1;
hiddennum=5;
outputnum=1;
%训练数据和预测数据
input_train=[1 2 3 4 5 6 7 8 9 10];
input_test=[21 27 29 31 34 36 39 41 49 50];
output_train=[11 12 13 14 15];
output_test=[54 56 59 61 66];
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%构建网络
net=newff(inputn,outputn,hiddennum);
%% 遗传算法参数初始化
maxgen=10; %进化代数,即迭代次数
sizepop=10; %种群规模
pcross=0.3; %交叉概率选择,0和1之间
pmutation=0.1; %变异概率选择,0和1之间
%节点总数
numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;
lenchrom=ones(1,numsum);
bound=[-3*ones(numsum,1) 3*ones(numsum,1)]; %数据范围
%------------------------------------------------------种群初始化--------------------------------------------------------
individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为一个结构体
avgfitness=[]; %每一代种群的平均适应度
bestfitness=[]; %每一代种群的最佳适应度
bestchrom=[]; %适应度最好的染色体
%初始化种群
for i=1:sizepop
%随机产生一个种群
individuals.chrom(i,:)=Code(lenchrom,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量)
x=individuals.chrom(i,:);
%计算适应度
individuals.fitness(i)=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn); %染色体的适应度
end
%找最好的染色体
[bestfitness bestindex]=min(individuals.fitness);
bestchrom=individuals.chrom(bestindex,:); %最好的染色体
avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度
% 记录每一代进化中最好的适应度和平均适应度
trace=[avgfitness bestfitness];
%% 迭代求解最佳初始阀值和权值
% 进化开始
for i=1:maxgen
i
% 选择
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:sizepop
x=individuals.chrom(j,:);
x=individuals.chrom(j,:); %解码
individuals.fitness(j)=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn);
end
%找到最小和最大适应度的染色体及它们在种群中的位置
[newbestfitness,newbestindex]=min(individuals.fitness);
[worestfitness,worestindex]=max(individuals.fitness);
% 代替上一次进化中最好的染色体
if bestfitness>newbestfitness
bestfitness=newbestfitness;
bestchrom=individuals.chrom(newbestindex,:);
end
individuals.chrom(worestindex,:)=bestchrom;
individuals.fitness(worestindex)=bestfitness;
avgfitness=sum(individuals.fitness)/sizepop;
trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度
end
%% 遗传算法结果分析
figure(1)
[r c]=size(trace);
plot([1:r]',trace(:,2),'b--');
title(['适应度曲线 ' '终止代数=' num2str(maxgen)]);
xlabel('进化代数');ylabel('适应度');
legend('平均适应度','最佳适应度');
disp('适应度变量');
x=bestchrom;
%% 把最优初始阀值权值赋予网络预测
% %用遗传算法优化的BP网络进行值预测
w1=x(1:inputnum*hiddennum);
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);
net.iw{1,1}=reshape(w1,hiddennum,inputnum);
net.lw{2,1}=reshape(w2,outputnum,hiddennum);
net.b{1}=reshape(B1,hiddennum,1);
net.b{2}=B2;
%% BP网络训练
%网络进化参数
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
%net.trainParam.goal=0.00001;
%网络训练
[net,per2]=train(net,inputn,outputn);
%% BP网络预测
%数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
an=sim(net,inputn_test);
test_simu=mapminmax('reverse',an,outputps);
error=test_simu-output_test;
[
Last edited by jjdg on 2018-7-28 at 00:40
]
回复此楼
» 猜你喜欢
恳请有学校收留
已经有6人回复
求调剂推荐
已经有8人回复
0854求调剂
已经有14人回复
300求调剂
已经有9人回复
291求调剂
已经有7人回复
289 分105500药学专硕求调剂(找B区学校)
已经有4人回复
初试324 中药学 一志愿天中医 求调剂
已经有3人回复
药学求调剂
已经有14人回复
327求调剂
已经有27人回复
急需调剂
已经有5人回复
高级回复
1楼
2018-07-27 13:07:40
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
dy1029
新虫
(正式写手)
应助: 7
(幼儿园)
金币: 447.6
红花: 3
帖子: 369
在线: 699.3小时
虫号: 2663043
注册: 2013-09-17
利用遗传算法计算出神经网络的最佳权值,是输入输出数据维数出现问题吗?
还是适应度函数fun有问题?
赞
一下
回复此楼
高级回复
3楼
2018-07-27 13:09:17
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 5 个回答
dy1029
新虫
(正式写手)
应助: 7
(幼儿园)
金币: 447.6
红花: 3
帖子: 369
在线: 699.3小时
虫号: 2663043
注册: 2013-09-17
运行matlab后,出现:
错误使用 network/train (line 340)
Inputs and targets have different numbers of samples.
出错 fun (line 66)
net=train(net,inputn,outputn);
出错 main2 (line 92)
individuals.fitness(i)=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn); %染色体
的适应度
三个问题,求助哪里有问题
赞
一下
回复此楼
2楼
2018-07-27 13:08:18
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
gemz10186
至尊木虫
(知名作家)
应助: 6
(幼儿园)
金币: 13349.6
散金: 9
红花: 5
帖子: 8387
在线: 432.7小时
虫号: 668562
注册: 2008-12-05
专业: 概率论与随机分析
★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
jjdg: 金币+1, 感谢参与
2018-07-28 00:41:11
输入输出维数不一致
发自小木虫IOS客户端
赞
一下
回复此楼
在小木虫顶帖是中华民族的美德
4楼
2018-07-27 15:21:00
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
dy1029
新虫
(正式写手)
应助: 7
(幼儿园)
金币: 447.6
红花: 3
帖子: 369
在线: 699.3小时
虫号: 2663043
注册: 2013-09-17
错误使用 network/subsasgn>network_subsasgn (line 550)
net.b{2} must be a 1-by-1 matrix.
出错 network/subsasgn (line 10)
net = network_subsasgn(net,subscripts,v,netname);
出错 GA-bp (line 117)
net.b{2}=B2;
赞
一下
回复此楼
5楼
2018-07-28 00:32:22
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 5 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
最具人气热帖推荐
[查看全部]
作者
回/看
最后发表
[
考研
]
300求调剂
+9
橙a777
2026-04-15
9/450
2026-04-16 06:47
by
fenglj492
[
考研
]
材料相关专业344求调剂双非工科学校或课题组
+21
hualkop
2026-04-12
23/1150
2026-04-15 22:02
by
hualkop
[
考研
]
求调剂学校
+14
不会吃肉
2026-04-13
16/800
2026-04-15 21:59
by
noqvsozv
[
考研
]
通信工程求调剂!!!
+6
zlb770521
2026-04-14
6/300
2026-04-15 20:00
by
学员JpLReM
[
考研
]
307中医考研调剂
+4
于以采蘩
2026-04-14
4/200
2026-04-15 19:14
by
AN流800
[
考研
]
药学求调剂
+11
RussHu
2026-04-12
13/650
2026-04-15 19:07
by
zhuwenxu
[
考研
]
26药学专硕105500求调剂
+6
喽哈加油
2026-04-13
6/300
2026-04-14 16:40
by
zhouxiaoyu
[
考研
]
考研求调剂
+6
ban班小七
2026-04-11
6/300
2026-04-14 14:06
by
哆啦A梦只是个梦
[
考研
]
材料复试求调剂
+24
xhhdjdjsjks
2026-04-09
24/1200
2026-04-13 15:49
by
幸免 ..
[
考研
]
277 数一104,学硕,求调剂
+21
瓶子PZ
2026-04-09
23/1150
2026-04-11 23:12
by
labixiaoqiao
[
考研
]
331求调剂
+5
王国帅
2026-04-11
5/250
2026-04-11 22:56
by
溪涧流水
[
考研
]
调剂
+6
青灯不负
2026-04-09
6/300
2026-04-11 20:35
by
dongdian1
[
考研
]
085400 328分 求调剂
+10
喂你一个大橙子
2026-04-09
14/700
2026-04-11 19:53
by
lqspecial
[
考研
]
297求调剂
+9
Kwgyz
2026-04-09
9/450
2026-04-11 10:09
by
zhq0425
[
考研
]
22408 327分求调剂
+4
韵风kon
2026-04-10
4/200
2026-04-11 09:51
by
猪会飞
[
考研
]
282,求调剂
+12
jggshjkkm
2026-04-09
14/700
2026-04-11 09:39
by
猪会飞
[
考研
]
309求调剂
+14
wdhw
2026-04-10
15/750
2026-04-10 21:06
by
zhouxiaoyu
[
考研
]
298求调剂
+13
钉叮咚冬瓜
2026-04-09
13/650
2026-04-10 15:49
by
jiajinhpu
[
考研
]
青岛科技大学材料学院,环境学院调剂补录4月10日以前都可以
+3
1青科大。
2026-04-09
5/250
2026-04-10 09:58
by
翩翩一书生
[
考研
]
348求调剂
+3
candyyyi
2026-04-09
3/150
2026-04-09 17:20
by
段伟艳
信息提示
关闭
请填处理意见
关闭
确定