归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。归一化有同一、统一和合一的意思。无论是为了建模还是为了计算,首先基本度量单位要同一,神经网络是以样本在事件中的统计分别几率来进行训练(概率计算)和预测的,且sigmoid函数的取值是0到1之间的,网络最后一个节点的输出也是如此,所以经常要对样本的输出归一化处理。归一化是统一在0-1之间的统计概率分布,当所有样本的输入信号都为正值时,与第一隐含层神经元相连的权值只能同时增加或减小,从而导致学习速度很慢。另外在数据中常存在奇异样本数据,奇异样本数据存在所引起的网络训练时间增加,并可能引起网络无法收敛。为了避免出现这种情况及后面数据处理的方便,加快网络学习速度,可以对输入信号进行归一化,使得所有样本的输入信号其均值接近于0或与其均方差相比很小。

在matlab里面,用于归一化的方法共有三种:

(1)用matlab语言自己编程,通常使用的函数有以下几种:

1.线性函数转换,表达式如下:

y=(x-MinValue)/(MaxValue-MinValue) (归一到0 1 之间)

y=0.1+(x-min)/(max-min)*(0.9-0.1)(归一到0.1-0.9之间)

说明:x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。

2.对数函数转换,表达式如下:

y=log10(x)

说明:以10为底的对数函数转换。

3.反余切函数转换,表达式如下:

y=atan(x)*2/PI

(2)premnmx、tramnmx、postmnmx、mapminmax

premnmx函数用于将网络的输入数据或输出数据进行归一化,归一化后的数据将分布在[-1,1]区间内。

premnmx语句的语法格式是:[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T),其中P,T分别为原始输入和输出数据。

在训练网络时如果所用的是经过归一化的样本数据,那么以后使用网络时所用的新数据也应该和样本数据接受相同的预处理,这就要用到tramnmx函数:

tramnmx语句的语法格式是:[PN]=tramnmx(P,minp,maxp)

其中P和PN分别为变换前、后的输入数据,maxp和minp分别为premnmx函数找到的最大值和最小值。

网络输出结果需要进行反归一化还原成原始的数据,常用的函数是:postmnmx。

postmnmx语句的语法格式是:[PN] = postmnmx(P,minp,maxp)

其中P和PN分别为变换前、后的输入数据,maxp和minp分别为premnmx函数找到的最大值和最小值。

还有一个函数是mapminmax,该函数可以把矩阵的每一行归一到[-1 1].

mapminmax语句的语法格式是:[y1,PS] = mapminmax(x1)

其中x1 是需要归一的矩阵 y1是结果。

当需要对另外一组数据做归一时,就可以用下面的方法做相同的归一了

y2 = mapminmax('apply',x2,PS)

当需要把归一的数据还原时,可以用以下命令:

x1_again = mapminmax('reverse',y1,PS)

(3)prestd、poststd、trastd

prestd归一到单位方差和零均值。

pminp和maxp分别为P中的最小值和最大值。mint和maxt分别为T的最小值和最大值。

matlab 数组 归一化,Matlab中的数据归一化相关推荐

  1. matlab引用数据,excel引用数据-如何用matlab处理excel文件中的数据?

    如何利用matlab根据excel表格里面的数据画图 将待导入的矩阵结数据Excel中,录入时注意行列原矩阵一一对应 录入完以后数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATL ...

  2. matlab将求解值导出数据,MATLAB之将mat中的数据导出到Excel文件

    MATLAB之将mat中的数据导出到Excel文件 原始文档: https://www.yuque.com/lart/tools/cnedve 文章目录 MATLAB之将mat中的数据导出到Excel ...

  3. 在matlab中导入excel,Matlab导入Excel文件中的数据的详细教程分享

    操作Matlab时还不会导入Excel文件中的数据?本文就介绍了Matlab导入Excel文件中的数据的操作内容,想要学习的朋友可以看一看下文哦,相信对大家会有所帮助的. 直接点击鼠标操作导入数据 打 ...

  4. matlab数组从零开始,MATLAB数组

    MATLAB数组 在 MATLAB中,所有的所有数据类型的变量是多维数组.向量是一个一维阵列,矩阵是一个二维数组. 我们已经讨论过的向量和矩阵.在本章中,我们将讨论多维数组.然而,在这之前,让我们讨论 ...

  5. es6 取数组的第一个和最后一个_ES6:解构——JavaScript 从数组和对象中提取数据的优雅方法...

    转载请注明出处,保留原文链接以及作者信息 ES6 有很多新特性,它很大程度上提升了 JavaScript 的编程体验,并且也告诉外界,JavaScript 依旧强势. 其中一个新特性是其对数组和对象的 ...

  6. JS(解构) 之数组和对象中提取数据总结

    解构含义 解构功能含义:从复杂数据类型中(数组或对象)中提取数据的过程. JS(解构) 之数组 从数组中提取首个元素 方式一:基于数组下标提取元素 const names = ['zzg', 'zcx ...

  7. es6数组里面获取某个值对_ES6:解构——JavaScript 从数组和对象中提取数据的文雅要领...

    转载请说明出处,保存原文链接以及作者信息 ES6 有许多新特征,它很大程度上提升了 JavaScript 的编程体验,而且也通知外界,JavaScript 照旧强势. 个中一个新特征是其对数组和对象的 ...

  8. 基于R语言或Matlab直接读取压缩包中的数据

    写在前面 以gosif网站上的tiff数据为例. 该数据是地学上常用的一种数据,希望读取该网站上的gosif数据:http://data.globalecology.unh.edu/data/GOSI ...

  9. MATLAB读取excel文件中的数据

    MATLAB读取excel中的数据 读取sheet1中的数据 [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls')    ...

  10. matlab 多项式拟合EXCEL中复杂数据

    有如下原始数据x,y,它对应的曲线图形为: -9552 -2036.81 -9328 -2025.62 -9168 -2014.43 -9024 -2003.25 -8928 -1992.06 -88 ...

最新文章

  1. 边做边思考,谷歌大脑提出并发RL算法,机械臂抓取速度提高一倍!
  2. 《VMware Virtual SAN权威指南》一3.10.3 缓存设备与容量设备的比率
  3. python多线程和多进程的区别_python中多线程与多进程的区别
  4. How those spring enable annotations work--转
  5. c语言中1B是多少,C语言1、C语言中,运算对象必须是整型的运算符是【】A./B-查字典问答网...
  6. 【渝粤教育】国家开放大学2018年秋季 0273-22T中国现代文学 参考试题
  7. 【算法】学习笔记(0):算法初探(逻辑抽象 + 示例 + 代码实现)
  8. 从Sun离职后,我“抛弃”了Java,拥抱JavaScript和Node
  9. C++primer第九章 顺序容器 9.5 额外的string操作
  10. android版 点击下载,自动点击器最新版
  11. AndroidStudio更改默认编码(不用每次新建项目再更改编码了)
  12. 软件开发的一些感想(五年工作总结版)
  13. python 股票竞价数据_百度竞价的数据分析怎么做
  14. Python中Print()函数的用法___实例详解(全,例多)
  15. 春招秋招,什么是群面和无领导小组讨论
  16. 一兆mysql能存多少个字_MySQL 中一个汉字占多少存储?
  17. 阿里云国际站代理商:利用RDS MySQL数据库云开发ToDo List
  18. idea2021.3.x激活教程
  19. 苹果平板哪款电容笔好用?超好用的苹果平板电容笔推荐
  20. 企企通聚源池| 聚合海量资源全网寻源,赋能供采双方撮合交易

热门文章

  1. Python缩进规则(含快捷键)
  2. 评语――作文起飞的翅膀(09上半年获奖的评价论文)
  3. c++使用SMTP发送邮件
  4. jqgrid的formatter方法
  5. java静态方法中获取spring容器中的bean
  6. 告别烧钱时代,涨价将成常态?共享单车赛道早已“不再单纯”
  7. MySQL数据库环境配置与基本操作
  8. 复合结构程序设计(18)
  9. JAVA常见错误之identifier expected
  10. LATEX图片(子图)排版