matlab建立bp神经网络如何设置两个隐含层呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab建立bp神经网络如何设置两个隐含层呢?相关的知识,希望对你有一定的参考价值。
我原来单隐含层的构建网络的代码是
TF1='tansig';TF2='purelin';
net=newff(trainsample.p,trainsample.t,10,TF1 TF2,'traingdm');%网络创建
想改成两个隐含层,提高准确性,应该怎么改呢
题主那个newff里面的10看到没?那个就是设置1个隐含层的神经元个数,要多个隐含层就把10改成[4,10,1]就是第一个隐含层有4个神经元,第二个隐含层10个神经元,最后一层输出层1个神经元。然后你的TF1 TF2不用改。这样应该能用了。
然后给你一个newff的各项参数使用的介绍:
参考技术A 这种东西我一般都参考前人代码进行改进。matlab中建立bp神经网络的函数newff的第二个参数的问题
1.newff虽然没有规定输入层神经元个数,那输入层神经元个数是如何确定的?
2.我现在读入了10张图片,把每张图片归一化成了50*20的,并转换成1*1000的行向量,最后生成了10*1000的二维矩阵,然后,我再用eye(10,10)函数制造了一个单位矩阵,那么,这个神经网络的输入层神经元个数到底是由谁确定的?个数是多少?
3.还是上头2里的条件,newff的隐含层当然是2层,那么,每层的神经元个数应该如何确定?个数应为多少?
谢谢各位高手!
输入层是根据你读入数据的维度,自动生成的。
2.我现在读入了10张图片,把每张图片归一化成了50*20的,并转换成1*1000的行向量,最后生成了10*1000的二维矩阵,然后,我再用eye(10,10)函数制造了一个单位矩阵,那么,这个神经网络的输入层神经元个数到底是由谁确定的?个数是多少?
你用来训练神经网络的是哪个矩阵?由训练矩阵的维度确定。
3.还是上头2里的条件,newff的隐含层当然是2层,那么,每层的神经元个数应该如何确定?个数应为多少?
第一层由输入数据维度决定,设为k;第二层神经元个数没有理论依据,一般在k~2*k左右进行实验,根据结果定具体个数;输出层神经元个数由问题决定,如果是要把10张图分成两类,那么就是2个节点。 参考技术A 3.还是上头2里的条件,newff的隐含层当然是2层,那么,每层的神经元个数应该如何确定?个数应为多少?
谢谢各位高手!
以上是关于matlab建立bp神经网络如何设置两个隐含层呢?的主要内容,如果未能解决你的问题,请参考以下文章
matlab 神经网络隐含层节点数如何让确定?还有各个节点数量的训练误差如何得出来的比方说:
matlab中建立bp神经网络的函数newff的第二个参数的问题
有人知道bp神经网络Matlab R2012a 的newff用法么