mapstd matlab详解,Matlab自带的数据标准化方法(mapminmax和mapstd)详细解析

转自:http://blog.sina.com.cn/s/blog_b3509cfd0101bt9u.html

Matlab神经网络工具箱自带了两个数据标准化处理命令,一个是mapminmax,另一个是mapstd。下面,分别对这两个命令进行解析。

一、mapminmax

mapminmax按行逐行地对数据进行标准化处理,将每一行数据分别标准化到区间[ymin, ymax]内,其计算公式是:y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin。如果某行的数据全部相同,此时xmax=xmin,除数为0,则Matlab内部将此变换变为y = ymin。

(1) [Y,PS] = mapminmax(X,YMIN,YMAX)——将数据X归一化到区间[YMIN,YMAX]内,YMIN和YMAX为调用mapminmax函数时设置的参数,如果不设置这两个参数,这默认归一化到区间[-1, 1]内。标准化处理后的数据为Y,PS为记录标准化映射的结构体。

【例1】Matlab命令窗口输入:X=12+8*randn(6,8); [Y,PS] = mapminmax(X,0,1),则将随机数矩阵X按行逐行标准化到区间[0,1]内,并返回标准矩阵Y和结构体PS(至于它的作用,将在后面介绍到),它记录了X的行数、X中各行的最大值与最小值等信息。这里:

PS =

name: 'mapminmax'

xrows: 6

xmax: [6x1 double]

xmin: [6x1 double]

xrange: [6x1 double]

你可能感兴趣的:(mapstd,matlab详解)