24小时热门版块排行榜    

查看: 3720  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

oeheng

木虫 (初入文坛)

[求助] 请问关于matlab神经网络工具箱的问题 已有1人参与

请问使用nntool优化出来的权值和阈值如何用于自编的网络函数中?
同样的一组权值和阈值,使用matlab自带的sim函数是没问题的,但是同样的网络结构和参数,使用自编的网络程序输出的结果就是错的,难道是nntool在优化时对input和output数据做了什么预处理?导致我用同样的input通过自编的网络程序输出时,要先进行同样的预处理才能得到相同的结果?
先谢谢各位了~
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oeheng

木虫 (初入文坛)

引用回帖:
6楼: Originally posted by youyuwanglin at 2018-04-22 20:52:23
minmax是用来获得矩阵每一行的最小值和最大值,然后根据最大最小法对输入数据进行归一化。

是对每一行分别进行归一化?还是求出所有行的全局最大最小之后统一进行归一化?

另外程序默认归一到0~1还是-1~1?

发自小木虫Android客户端
9楼2018-04-23 08:29:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

eleven_xia

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
没有代码没有错误提示不好说啊,是不是因为你的input和output数组的维数不对啊……

发自小木虫Android客户端
人生只有一种成功,就是按照自己的意愿活下去。
2楼2018-04-21 22:08:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

oeheng

木虫 (初入文坛)

引用回帖:
2楼: Originally posted by eleven_xia at 2018-04-21 22:08:13
没有代码没有错误提示不好说啊,是不是因为你的input和output数组的维数不对啊……

例如我自己编了一个BP网络函数mybp(),用于给定权值和阈值后输出结果,下面采用两种方法得到mybp中的参数:
方法一:
x=[-10:0.15:10];
y=atan(x);
net=newff(x,y,10,{'tansig','purelin'}','trainlm');
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-6;
[net,tr]=train(net,x,y);

方法二:
x=[-10:0.15:10];
y=atan(x);
net=newff(minmax(x),[10 1],{'tansig','purelin'}','trainlm');
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-6;
[net,tr]=train(net,x,y);


输入同样的x,我的程序mybp的仿真结果用方法二的参数输出结果是正确的,但是用方法一得到的参数就不对。
3楼2018-04-21 23:26:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eleven_xia

至尊木虫 (职业作家)

方法二不是用了minmax这个归一化函数嘛,经过了预处理得到的结果当然不一样。

发自小木虫Android客户端
人生只有一种成功,就是按照自己的意愿活下去。
4楼2018-04-22 08:22:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见