神经网络预测最大值大于样本最大值,如何反归一化?

我用 (x-min)/(max-min) 对数据进行归一化处理,激活函数用的是1/(1+exp(x)),我想问下如果预测值大于最大值,激活函数那结果不能大于1?那怎么还原大于训练集最大值的预测数?

这种S激活函数主要应用于隐层神经元,隐层输出肯定是小于1的。输出层神经元一般使用线性函数,输出层输出可以大于1,反归一化的过程没有区别。

在最新版的matlab里面共有两个归一化函数:mapminmax()和mapstd(),其中第一个函数是归一化到[0 1]范围,后一个的原理是利用统计原理,但归一后的数据较规整,但有个问题是归一化后的数据范围不确定,可能远远大于1,导致S函数进入平坦区。
各自的归一化格式如下:
[pn,ps]=mapminmax(P)或=mapstd(P) %P是输入向量
[tn, ts]=mapminmax(t)或=mapstd(t) %t 是目标向量
在训练完后,对测试样本归一化格式为:
pnt=mapminmax('apply',pt,ps)或=mapstd('apply',pt,ps)
仿真后反归一化格式则为:
out=mapminmax('reverse',An,ts)或=mapstd('reverse',An,ts);其中An为sim函数的输出。
温馨提示:答案为网友推荐,仅供参考