遗传算法bp神经网络原理,bp神经网络和遗传算法

遗传算法为什么可以优化bp神经网络?

谷歌人工智能写作项目:神经网络伪原创

BP神经网络

我不是大神文案狗。但可以给给意见。1,遗传算法不能改变BP神经网络准确率低的本质问题的。只能在一定程度上优化BP神经网络。2,你的数据是怎么增加的?由原来的80组数据基础上随意组合的?

还有你的输出结果是3个等级。期望输出是什么类型?预测输出是什么类型?你判断正确率的标准是什么?这些都会对正确率有影响。3,BP神经网络的正确率的提高可以通过:一,改变隐层的节点数。或增减隐层的层数。

最少一个隐层,最多2个。二,改变传递函数,一般隐层用tansig,输出层用linear或者tansig。4,最后的方法是不怎么重要的,就是数据的归一化,一般是归一化或不归一化都可以的,都试试。

我都是书本学过,做过点题目,只能给这些建议。

有没有用python实现的遗传算法优化BP神经网络的代码

下面是函数实现的代码部分:clcclearallcloseall%%加载神经网络的训练样本测试样本每列一个样本输入P输出T,T是标签%样本数据就是前面问题描述中列出的数据%epochs是计算时根据输出误差返回调整神经元权值和阀值的次数loaddata%初始隐层神经元个数hiddennum=31;%输入向量的最大值和最小值threshold=[01;01;01;01;01;01;01;01;01;01;01;01;01;01;01];inputnum=size(P,1);%输入层神经元个数outputnum=size(T,1);%输出层神经元个数w1num=inputnum*hiddennum;%输入层到隐层的权值个数w2num=outputnum*hiddennum;%隐层到输出层的权值个数N=w1num+hiddennum+w2num+outputnum;%待优化的变量的个数%%定义遗传算法参数NIND=40;%个体数目MAXGEN=50;%最大遗传代数PRECI=10;%变量的二进制位数GGAP=0.95;%代沟px=0.7;%交叉概率pm=0.01;%变异概率trace=zeros(N+1,MAXGEN);%寻优结果的初始值FieldD=[repmat(PRECI,1,N);repmat([-0.5;0.5],1,N);repmat([1;0;1;1],1,N)];%区域描述器Chrom=crtbp(NIND,PRECI*N);%初始种群%%优化gen=0;%代计数器X=bs2rv(Chrom,FieldD);%计算初始种群的十进制转换ObjV=Objfun(X,P,T,hiddennum,P_test,T_test);%计算目标函数值whilegen。

对于预测方面,是马尔科夫链比较好,还是遗传算法优化bp神经网络比较好?

谁有用于数据预测的用遗传算法改进的BP神经网络程序

给你来一段%主程序%数据归一化预处理nntwarnoff[pn,minp,maxp]=premnmx(p);pp=(pn+1)/2;[tn,mint,maxt]=premnmx(t);%建立BP网络net=newff(minmax(pp),[15,1],{'logsig','purelin'},'trainlm');%应用遗传算法对优化网络初始值in=size(pn,1);out=size(tn,1);hi=15;%隐含层节点数L=in*hi+hi*out+hi+out;%遗传算法编码长度aa=ones(L,1)*[-1,1];popu=50;%种群规模initPpp=initializega(popu,aa,'ISeval');%初始化种群gen=100;%遗传世代%调用GAOT工具箱,其中目标函数定义为ISeval[x,endPop,bPop,trace]=ga(aa,'ISeval',[],initPpp,[1e-611],'maxGenTerm',…,gen,'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2gen3]);%绘收敛曲线图figure(1)plot(trace(:,1),1./trace(:,3),'r-');holdonplot(trace(:,1),1./trace(:,2),'b-');xlabel('Generation');ylabel('Sum-SquaredError');figure(2)plot(trace(:,1),trace(:,3),'r-');holdonplot(trace(:,1),trace(:,2),'b-');xlabel('Generation');ylabel('Fittness');%将得到的权值矩阵赋给尚未开始训练的BP网络[w1,b1,w2,b2,a1,a2,se,eval]=IScode(x);%调用自定义编解码函数%创建网络{1,1}=w1;{2,1}=w2;net.b{1,1}=b1;net.b{2,1}=b2;%设置训练参数=10;net.trainParam.epochs=5000;=0.05;%训练网络net=train(net,pp,t);%自定义目标函数function[sol,eval]=ISeval(sol,options)%eval-thefittnessofthisindividual%sol-theindividual,returnedtoallowforLamarckianevolution%options-[current_generation]p=[];%原始输入数据t=[];%原始输出数据in=size(p,1);out=size(t,1);hi=15;%隐含层节点数L=in*hi+hi*out+hi+out;%遗传算法编码长度fori=1:L,x(i)=sol(i);end;[w1,b1,w2,b2,a1,a2,se,eval]=IScode(x);%自定义编解码函数function[w1,b1,w2,b2,a1,a2,se,eval]=IScode(x)[pn,minp,maxp]=premnmx(p);pp=(pn+1)/2;[tn,mint,maxt]=premnmx(t);in=size(pn,1);%输入层结点数out=size(tn,1);%隐含层结点数hi=15;%隐含层结点数L=in*hi+hi*out+hi+out;%遗传算法编码长度%前in*hi个编码为w1fori=1:hi,forj=1:in,w1(i,j)=x(in*(i-1)+j);endend%接着的hi*out个编码为w2fori=1:out,forj=1:hi,w2(i,j)=x(hi*(i-1)+j+in*hi);endend%接着的hi个编码为b1fori=1:hi,b1(i,1)=x((in*hi+hi*out)+i);end%最后的out个编码b2fori=1:out,b2(i,1)=x((in*hi+hi*out+hi)+i);end%计算hi层与out层的输出a1=tansig(w1*pp,b1);a2=purelin(w2*a1,b2);%计算误差平方和se=sumsqr(t-a2);eval=1/se;%遗传算法的适应值。

bp神经网络如果加上遗传算法优化,和RBF神经网络,预测哪个比较好!或者这样哪个比较厉害!跪求大神

 

你可能感兴趣的:(神经网络,人工智能,深度学习)