版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(379)
>
虫友互识
(34)
>
考研
(22)
>
导师招生
(9)
>
硕博家园
(9)
>
考博
(8)
>
计算模拟
(3)
>
基金申请
(3)
>
论文投稿
(3)
>
博后之家
(2)
>
论文道贺祈福
(2)
>
教师之家
(2)
>
公派出国
(2)
>
农林
(1)
>
SciFinder/Reaxys
(1)
>
高分子
(1)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
MATLAB/Mathematica
»
求助bp神经网络遗传算法出错。
5
1/1
返回列表
查看: 1898 | 回复: 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
]
回复此楼
» 猜你喜欢
求调剂推荐
已经有7人回复
289 分105500药学专硕求调剂(找B区学校)
已经有4人回复
0854求调剂
已经有13人回复
初试324 中药学 一志愿天中医 求调剂
已经有3人回复
药学求调剂
已经有14人回复
327求调剂
已经有27人回复
急需调剂
已经有5人回复
300求调剂
已经有7人回复
271求调剂
已经有33人回复
273求调剂
已经有8人回复
高级回复
1楼
2018-07-27 13:07:40
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
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的回帖
dy1029
新虫
(正式写手)
应助: 7
(幼儿园)
金币: 447.6
红花: 3
帖子: 369
在线: 699.3小时
虫号: 2663043
注册: 2013-09-17
利用遗传算法计算出神经网络的最佳权值,是输入输出数据维数出现问题吗?
还是适应度函数fun有问题?
赞
一下
回复此楼
3楼
2018-07-27 13:09:17
已阅
回复此楼
关注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的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
dy1029
的主题更新
5
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
最具人气热帖推荐
[查看全部]
作者
回/看
最后发表
[
考研
]
材料相关专业344求调剂双非工科学校或课题组
+21
hualkop
2026-04-12
23/1150
2026-04-15 22:02
by
hualkop
[
考研
]
322求调剂
+7
123安康
2026-04-12
14/700
2026-04-15 21:48
by
noqvsozv
[
考研
]
通信工程求调剂!!!
+6
zlb770521
2026-04-14
6/300
2026-04-15 20:00
by
学员JpLReM
[
考研
]
0854调剂
+13
长弓傲
2026-04-12
16/800
2026-04-15 13:45
by
fenglj492
[
考研
]
化工学硕294分,求导师收留
+32
yzyzx
2026-04-12
36/1800
2026-04-14 17:45
by
lhj2009
[
考研
]
材料专业344求调剂
+17
hualkop
2026-04-10
22/1100
2026-04-14 16:21
by
sxdj2
[
考研
]
药学305求调剂
+10
玛卡巴卡boom
2026-04-10
10/500
2026-04-14 15:55
by
zs92450
[
考研
]
071000生物学调剂求助
+18
zzzzwww
2026-04-09
21/1050
2026-04-14 15:39
by
zs92450
[
基金申请
]
RY:中国产出的科学垃圾论文,绝对数量和比例都世界第一
+6
zju2000
2026-04-14
17/850
2026-04-14 14:34
by
jurkat.1640
[
考研
]
085600材料与化工329分求调剂
+24
叶zilin
2026-04-13
25/1250
2026-04-14 09:20
by
试管破裂
[
考研
]
考研求调剂
+12
子木呐
2026-04-12
13/650
2026-04-14 01:19
by
王珺璞
[
考研
]
本科南方医科大学 一志愿985 药学学硕284分 求调剂
+5
弱水听文
2026-04-09
5/250
2026-04-12 13:16
by
shengxi123
[
考研
]
化工调剂求导师收留!一志愿失利,踏实肯干,有植物提取科研经历
+20
yzyzx
2026-04-09
21/1050
2026-04-12 00:12
by
小小小小啦啦啦
[
考研
]
277 数一104,学硕,求调剂
+21
瓶子PZ
2026-04-09
23/1150
2026-04-11 23:12
by
labixiaoqiao
[
考研
]
311求调剂
+13
xyp想读书
2026-04-10
14/700
2026-04-11 09:41
by
猪会飞
[
考研
]
085402通信工程调剂,有4项学科竞赛国奖(电赛国二),硕士研究生调剂自荐信。
+5
m永o不v言o弃m
2026-04-09
5/250
2026-04-11 09:33
by
zhq0425
[
考研
]
中科院总分315求调剂
+8
lallalh
2026-04-09
8/400
2026-04-10 19:30
by
dick_runner
[
考研
]
已调剂
+18
柴郡猫_
2026-04-09
19/950
2026-04-09 22:10
by
柴郡猫_
[
考研
]
初试分332,一志愿报考西北工业大学,
+11
故人??
2026-04-09
11/550
2026-04-09 21:54
by
JineShine
[
考研
]
0860004 求调剂 309分
+6
Yin DY
2026-04-09
6/300
2026-04-09 10:19
by
啊李999
信息提示
关闭
请填处理意见
关闭
确定