看了王小川的《MATLAB神经网络43个案例分析》,第三章的遗传算法优化BP神经网络,讲了只有一个隐含层的神经网络如何使用遗传算法优化,这个代码网络上现在都有,我刚开始用这个代码跑了一下自己的样本,结果效果不好,除了要修改样本之外,我考虑到了是不是因为神经网络的层数较为单一了,只有一个隐含层,学习的效果不会太好,于是打算着手修改加一个 隐含层,五一之前调了一次,没改的出来,五一之后静下心重看了一遍,虽然能调试出来,但是效果还不是很好,希望大家能给些指点。
构建的神经网络有两个隐含层,原书上只给出一个,所以原hiddennum要改为hiddennum1和hiddennum2,然后有一个newff的写法问题,说有新旧写法,这里引用一下matlab中newff新旧用法差异。
%节点个数
inputnum=5;
hiddennum1=8;
hiddennum2=8;
outputnum=1;
%构建网络
net=newff(inputn,outputn,[hiddennum1 hiddennum2]);
然后节点总数就得修改了
%节点总数
numsum=inputnum*hiddennum1+hiddennum1+hiddennum1*hiddennum2+hiddennum2+hiddennum2*outputnum+output