Matlab 归一化函数premnmx


(1)基本算法:函数目的是把数据处理成[-1,1]之间,算法是:

如a=[2,4,3,5],那么计算过程就是:

2*(2-2)/(5-2)-1=-1;

2*(4-2)/(5-2)-1=1/3=0.6666;

2*(3-2)/(5-2)-1=-0.6666

2*(5-2)/(5-2)-1=1;

(2)标准函数:   [pn,minp,maxp,tn,mint,maxt] = premnmx(p,t)是对P和T分别按照行进行归一化处理。

其中:pn:p的归一化结果,minp:  p的每行的最小值,maxp: p的每行的最大值

tn:  t矩阵的归一化结果,mint:  t矩阵的最小值,maxt:  t矩阵的最大值

举例分析:[pn,minp,maxp,tn,mint,maxt]=premnmx([2,4,3,5;4,2,1,6],[5,2,3,8])

P为2行4列数据,对每行分别进行归一化,pn结果是:

pn =

-1.0000   0.3333   -0.3333    1.0000

0.2000  -0.6000   -1.0000    1.0000

minp =

2

1

maxp =

5

6

t为1行4列的数据,对其归一化结果为 tn:

tn =0   -1.0000  -0.6667    1.0000

mint =2

maxt=8

反归一化

p=postmnmx(pn,mint,maxt)

结果p跟输入是一样的。

但是这个是适用于比较老版的MATLAB,对于新版MATLAB表达为

mapminmax

这个函数是十分常用的归一化函数,最常用的是进行多元回归,包括神经网络以及支持向量机回归过程当中。下面我们通过一个实例进行介绍。我们以A=[100 200 300 400]为例。

在MATLAB主窗口中输入[A1,PS]=mapminmax(A),这里PS是一种对应关系,里面包括一些相应的特征值。

  1. 对应关系说明

    MATLAB 帮助文档中告诉我们,这种对应关系是

    y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin

    在A向量中我们可以看到xrows代表行数,行数为1,并且对这一行向量来说,x最大值是400,最小值是100,x的变化范围时300。至于后面的关于y的,在归一化一维向量时,可以忽略不看,我们只需要知道ymin=-1,ymax=1,就可以。

    我们可以验证某一个元素的值,比方说200,则y=1*(200-100)/(400-100)+(-1)=-1/3=-0.333.





  2. 对其他数值进行归一化

    我们可以利用这个对应关系PS对其他数值进行归一化,但是有个前提,这个数必须要在xmin 和xmax之间,不然归一化的结果,与整体进行归一化,结果会不一样,例如,我们用如上对应关系归一化260,输入命令

    temp= mapminmax('apply',260,PS) 

    结果如下,我们可以看到,用对应关系PS进行归一化,与整体进行归一化结果一致。

    步骤阅读
  3. 4
  1. 反例:

    但是我们如果归一化不介于xmin 和xmax之间的数,结果就会出现不同,如下:

    我们可以看到单独归一化500与整体归一化的结果不一样,所以用这种方式归一化其他值的时候一定要注意这一点。

    步骤阅读



  2. 5

    反归一化

    我们还是以最开始的向量A=[100 200 300 400]进行示例,进行归一化之后归一化的结果

    A1=[-1.0000   -0.3333    0.3333    1.0000],那么我们要反归一化得到原来的值,怎么处理呢?

    在MATLAB主窗口输入如下命令:A2= mapminmax('reverse',A1,PS) 回车

    我们可以看到A2=[100   200   300   400]=A,成功的进行了反归一化。

    END

Matlab 归一化函数premnmx [-1,1]相关推荐

  1. Matlab 归一化函数premnmx

    (1)基本算法:函数目的是把数据处理成[-1,1]之间,算法是: 如a=[2,4,3,5],那么计算过程就是: 2*(2-2)/(5-2)-1=-1; 2*(4-2)/(5-2)-1=1/3=0.66 ...

  2. matlab归一化函数

    原文地址:matlab归一化函数作者:CrazyMatrix 归一化用到最多的应该是在聚类分析中,为什么要用归一化呢?这是为了消去不同量纲对结果的影响. matlab提供了一个简单的归一化函数[y,p ...

  3. bpnn matlab工具箱,bpnn——matlab工具箱-归一化函数 premnmx、tramnmx、postmnmx、mapminmax...

    source1 person1: "一个是训练数据归一化,此时不知道输入数据范围,一个是对预测数据归一化,此时用的最大最小是训练数据的最大最小,配套的还有个反归一化函数,如果数据在01间不需 ...

  4. bpnn——matlab工具箱-归一化函数 premnmx、tramnmx、postmnmx、mapminmax

    source1 person1: "一个是训练数据归一化,此时不知道输入数据范围,一个是对预测数据归一化,此时用的最大最小是训练数据的最大最小,配套的还有个反归一化函数,如果数据在01间不需 ...

  5. MATLAB 归一化 函数用法以及实例

    原文地址:http://jingyan.baidu.com/article/48b37f8d649ce31a646488e9.html 在用MATLAB进行各种回归运算以及矩阵运算中,为了避免不同数量 ...

  6. matlab归一化函数,以及还原归一化

    转自:https://blog.csdn.net/xiaotao_1/article/details/79602263 主要用函数mapminmax 1 默认的map范围是[-1, 1],所以如果需要 ...

  7. matlab归一化函数,以及还原归一化。

    转自:这里 用函数mapminmax 1 默认的map范围是[-1, 1],所以如果需要[0, 1],则按这样的格式提供参数: MappedData = mapminmax(OriginalData, ...

  8. Matlab归一化函数(mapminmax)

    功能:将矩阵的每一行处理成[-1,1]区间.处理需要归一化的m*n矩阵X,归一化后的矩阵记为Y. 主要有5种调用形式 1.[Y,PS] = mapminmax(X,YMIN,YMAX) 其中,YMIN ...

  9. matlab premnmx归一化函数的使用

    matlab premnmx归一化函数的使用 1.premnmx 预处理数据使数据的最小值和最大值分别为-1和1. [PN,minp,maxp,TN,mint,maxt] = premnmx(P,T) ...

最新文章

  1. Oracle表数据恢复
  2. 如何使用Sublime Text 2重新格式化HTML代码?
  3. inline hook __usercall 函数
  4. python类属性描述_如何描述Python对象,以及属性、标识、类型和值之间的关系?...
  5. Vue+Openlayers+Draw实现画笔切换功能,切换画笔为点、线、面
  6. 【转载】Hook钩子C#实例
  7. C\C++与Java中的static关键字
  8. 如何使计算机为您读取文档
  9. css 获取屏幕宽度_设备像素、设备独立像素、CSS像素、分辨率、PPI、devicePixelRatio 的区别...
  10. JAVA 常用开发快捷键大全
  11. 了解SQL Server数据库恢复模型
  12. C++ 构造函数抛出异常注意事项
  13. JDK8相对于JDK7的一些新特性
  14. mac 文件上传服务器
  15. RouterOS 常用命令、用法及官方资料
  16. 大数据告诉你,北上广深哪里最容易吃到你的家乡味儿?
  17. Windows XP
  18. 这个得学起来!超实用的格式塔原理小科普
  19. 【PROTEUS仿真】使用AT89C51控制AD0809进行采样并显示
  20. PPT中如何插入swf文件

热门文章

  1. 新金融时代,凡泰极客助力华西证券打造数字营销新生态
  2. 2020Web前端的学习之路,以及反省自身的不足之处。
  3. Kuick:创业大军中脱颖而出的少数派
  4. 嵌入式常用的英文缩写词汇
  5. 浏览器及一些常用的兼容性
  6. linux如何export文件夹,学习如何在Linux中使用export命令
  7. ROS学习笔记(九)使用rosed在ROS里面编辑文件
  8. linux运行级别及其含义,linux的运行级别及相应含义
  9. 【新手基础教程】MaixPy AI 硬件加速基础知识
  10. 如何用一句话向你二大爷解释运维是做啥的?