深度学习神经网络归一化方法及MATLAB函数

归一化方法及 MATLAB函数

数据归一化方法是神经网络预测前对数据常做的一种处理方法。数据归一化处理把所有数据都转化为[0,1]之间的数,其目的是取消各维数据间数量级差别,避免因为输入输出数据数量级差别较大而造成网络预测误差较大数据归一化的方法主要有以下两种。

最大最小法平均数方差法
x k = x k − x m a x x m a x − x m i n x_{k}=\frac{x_{k}-x_{max}}{x_{max}-x_{min}} xk=xmaxxminxkxmax x k = x k − x m e a n x v a r x_{k}=\frac{x_{k}-x_{mean}}{x_{var}} xk=xvarxkxmean
x m i n x_{min} xmin​为数据序列中的最小数; x m a x x_{max} xmax​​为序列中的最大数 x m e a n x_{mean} xmean为数据序列的均值; x v a r x_{var} xvar为数据的方差

例如采用第一种最大最小法,归一化函数采用MATLAB自带函数mapminmax,该函数有多种形式,常用的方法如下:

%input_train,output_train分别是训练输入,输出数据
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);

input_train,output_train分别是训练输入,输出原始数据;inputn,outputn是归一化后的数据,inputps,outputps是归一化后得到的结构体,里面包含了数据最大值,最小值,平均值等信息,可用于测试数据归一化和反归一化。测试数据归一化和反归一化程序如下

inputn_test= mapminmax('apply',input_test,inputps);   %测试输入数据归一化
BPoutput= mapminmax('reverse',an,outputps);   %网络预测数据反归一化

input_test是预测输入数据; inputn_test是一化后的预测数据; 'apply’表示根据 inputps的值对 input_testi进行归一化。an是网络预测结果; outputps是训练输出数据归一化得到的结构体; BPoutput是反归一化之后的网络预测输出; 'reverse’表示对数据进行反归一化

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值