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

我用(x-min)/(max-min)对数据进行归一化处理,激活函数用的是1/(1+exp(x)),我想问下如果预测值大于最大值,激活函数那结果不能大于1?那怎么还原大于... 我用 (x-min)/(max-min) 对数据进行归一化处理,激活函数用的是1/(1+exp(x)),我想问下如果预测值大于最大值,激活函数那结果不能大于1?那怎么还原大于训练集最大值的预测数? 展开
 我来答
meng2235
推荐于2016-06-19 · TA获得超过1.4万个赞
知道大有可为答主
回答量:4585
采纳率:74%
帮助的人:3214万
展开全部
这种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函数的输出。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式