24小时热门版块排行榜    

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

oeheng

木虫 (初入文坛)

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

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

» 猜你喜欢

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

eleven_xia

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
oeheng: 金币+10, 有帮助 2018-04-25 20:13:39
引用回帖:
5楼: Originally posted by oeheng at 2018-04-22 20:07:22
问题就在于我没想明白这个minmax的含义和具体操作是啥?
或者等效的说,我使用nntool打开工具箱,输入input和output数据,优化得到一组权值和阈值;我应该对input和output作什么样的变换,才能在自己编的网络中使 ...

你是不是想说你用nntool训练bp神经网络得到的权值和阈值,现在想通过自己编程序得到与工具箱相同的权值和阈值啊,这样是不行的,因为由数据训练得到的神经网络参数是随机的,所以你不可能得到相同的结果,那个mapminmax函数用法你help一下,或者直接百度一下,有公式的

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

人生只有一种成功,就是按照自己的意愿活下去。
7楼2018-04-22 22:40:01
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见