查看: 21007|回复: 23|关注: 1

[已解决] 神经网络,新数据的归一化与反归一化

[复制链接]

新手

6 麦片

财富积分


050


30

主题

73

帖子

0

最佳答案
对于一个训练好的神经网络,如何新数据如何归一化?对于新数据得出的网络预测值,如何反归一化?
回复主题 已获打赏: 0 积分

举报

MATLAB 数学、统计与优化
版块优秀回答者

入门

110 麦片

财富积分


50500


3

主题

208

帖子

19

最佳答案
  • 关注者: 17
发表于 2016-3-2 09:13:36 | 显示全部楼层
是的,MATLAB中对数据会默认预处理,自动归一化到[-1,1],然后在输出前,还原到实际值,具体的函数请见: mapminmax;
详情请见:net.inputs{1,1}.processFcns,神经网络的预处理函数。
望对你有所帮助,谢谢!
https://www.ilovematlab.cn/thread-453634-1-1.html
发帖子前请检索一下有没有类似的问题。
回复此楼 已获打赏: 0 积分

举报

新手

6 麦片

财富积分


050


30

主题

73

帖子

0

最佳答案
 楼主| 发表于 2016-3-2 13:46:12 | 显示全部楼层
fzc 发表于 2016-3-2 09:13
是的,MATLAB中对数据会默认预处理,自动归一化到[-1,1],然后在输出前,还原到实际值,具体的函数请见: ma ...

谢谢,那么也就是说不需要自己将数据归一化,直接用原始数据,得出的就是经过反归一化的结果?
回复此楼 已获打赏: 0 积分

举报

MATLAB 数学、统计与优化
版块优秀回答者

入门

110 麦片

财富积分


50500


3

主题

208

帖子

19

最佳答案
  • 关注者: 17
发表于 2016-3-2 17:59:44 | 显示全部楼层
twlyy 发表于 2016-3-2 13:46
谢谢,那么也就是说不需要自己将数据归一化,直接用原始数据,得出的就是经过反归一化的结果? ...

是的,记得采纳为最佳答案
回复此楼 已获打赏: 0 积分

举报

新手

6 麦片

财富积分


050


30

主题

73

帖子

0

最佳答案
 楼主| 发表于 2016-3-2 21:38:07 | 显示全部楼层
fzc 发表于 2016-3-2 17:59
是的,记得采纳为最佳答案

不好意思,我看了程序,应该不是的吧?或者这样想,归一化不一定会使得效果比不归一化好,那么就没必要把归一化写成固定步骤。
回复此楼 已获打赏: 0 积分

举报

MATLAB 数学、统计与优化
版块优秀回答者

入门

110 麦片

财富积分


50500


3

主题

208

帖子

19

最佳答案
  • 关注者: 17
发表于 2016-3-2 22:11:18 | 显示全部楼层
twlyy 发表于 2016-3-2 21:38
不好意思,我看了程序,应该不是的吧?或者这样想,归一化不一定会使得效果比不归一化好,那么就没必要把 ...

是的, 准确的说吧, 对于BP网络一定是自动归一化的, 其他的网络不会归一化, 也不会考虑归一化的
请自行help net.inputs{i}.processFcns, 这个是神经网络的预处理函数集,
如newff在创建网络时, 归一化的mapminmax就是其中的默认函数之一
至于归一化的目的是消除异常值的影响, 对于某个你并不了解或者实验的数据, 归一化是必须的, 或者更具体的说是对于BP网络是必须的;
当然你也可以取消归一化.
回复此楼 已获打赏: 0 积分

举报

新手

6 麦片

财富积分


050


30

主题

73

帖子

0

最佳答案
 楼主| 发表于 2016-3-4 10:19:34 | 显示全部楼层
fzc 发表于 2016-3-2 22:11
是的, 准确的说吧, 对于BP网络一定是自动归一化的, 其他的网络不会归一化, 也不会考虑归一化的
请自行hel ...

谢谢你,不过新版的newff
net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)
BTF - Backprop network training function, default = 'trainlm'.
BLF - Backprop weight/bias learning function, default = 'learngdm'.
BTF 是训练函数,BLF是权值和阈值的学习函数,
网络的训练函数和学习函数有什么区别?训练函数不就是为了得出权值和阈值吗?为什么还要加上学习函数呢?
回复此楼 已获打赏: 0 积分

举报

MATLAB 数学、统计与优化
版块优秀回答者

入门

110 麦片

财富积分


50500


3

主题

208

帖子

19

最佳答案
  • 关注者: 17
发表于 2016-3-4 21:14:16 | 显示全部楼层
twlyy 发表于 2016-3-4 10:19
谢谢你,不过新版的newff
net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)
BTF - Backprop network trai ...

https://www.ilovematlab.cn/thread-76042-2-1.html
回复此楼 已获打赏: 0 积分

举报

新手

6 麦片

财富积分


050


30

主题

73

帖子

0

最佳答案
 楼主| 发表于 2016-3-8 21:24:17 | 显示全部楼层
fzc 发表于 2016-3-4 21:14
https://www.ilovematlab.cn/thread-76042-2-1.html

谢谢你,看过了,还是不明白,可以解释的详细一些吗?
“训练函数是全局调整权值和阈值,考虑的是整体误差的最小。
学习函数是局部调整权值和阈值,考虑的是单个神经元误差的最小。”这种说法对吗?

回复此楼 已获打赏: 0 积分

举报

MATLAB 数学、统计与优化
版块优秀回答者

入门

110 麦片

财富积分


50500


3

主题

208

帖子

19

最佳答案
  • 关注者: 17
发表于 2016-3-8 21:51:19 | 显示全部楼层
结合大家观点+自己的理解:
神经网络是一个反复迭代过程,根据误差进行调整权值和阀值;
训练函数:是寻找最优的算法,如梯度下降,共轭梯度,这里强调算法,最终是整体的误差最小;
学习函数:是指权值和阈值的调整规则,或者称更新规则,最终是每步迭代的误差最小;

联系:
通过循环调用sim和学习函数每步的调整权值和阈值,以最终以满足误差要求,最终找到最优的权值和阈
,而train则是把这个过程封装起来, 直接调用就可以了,即:循环调用sim函数+学习函数=训练函数

循环调用sim函数+学习函数的优势:
1.每步都可以显示,方便查看计算过程;
2.可以通过设置一些限制,可以减少无效计算,减少训练时间。

如果有所异议,欢迎指出并更正。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表