关于MATLAB神经网络命令feedforwardnet的一些记录

标签:
matlab神经网络feedforwardnet参数神经网络参数样本比例 |
分类: 科研 |
首先help feedforwardnet 看一下,发现可填的变量只有两个,即:
feedforwardnet (10,'trainlm')
意思就是说默认的是隐藏层有10个神经元,训练函数是 trainlm.
但是往往我们用神经网络的时候,往往需要调整很多参数,怎么调整呢? 研究了一会儿,终于发现了端倪。
问题来自于feedforwardnet是一个自动将你的input数据分为训练数据,测试数据和预测数据的BP神经网络方法。当时我想知道他对于这三类比例的分配是多少,于是我观察了训练后的regression,即如下图。先点第一个图最下面的regression,然后出来第二个图。第二个图中的前三个小图就是
训练 测试,预测的三个数据库,我想知道数据个数。于是我用了tool--brush,
把一个小图中的所有内容刷一遍,右键---create varibles,就可以看见了有多少数据点了,原来默认的是 70%
15% 15%.
问题又来了,如何改变参数。
在应用feedforwardnet时,在建立了net以后下面加个net
net=feedforwardnet
(10,'trainlm')
net
然后就可以在 commond window 看见建立的net,下面有他的一些列属性。可以看见,在function里有个
divideParam,后面有三个 trainRatio valRatio 和
testRatio。那么,当我们想改变这些参数时,在net下面加入
net.divideParam.trainRatio=0.8;
net.divideParam.valRatio=0.1;
net.divideParam.testRatio=0.1;
表示将比例调整为了 80% 10% 10%
net=train(net,P,T);
然后在开始训练网络。其他参数的调整也是这样的。
MATLAB神经网络 feedforwardnet参数
神经网络参数 样本比例
另外,帮朋友做个广告,有想做兼职的,就是刷taobao的,可以联系52662637。工资是日结的。