赞
踩
Process matrices by mapping row minimum and maximum values to [-1 1]
意思是将矩阵的每一行处理成[-1,1]区间,此时对于模式识别或者其他统计学来说,数据应该是每一列是一个样本,每一行是多个样本的同一维,即对于一个M*N的矩阵来说,样本的维度是M,样本数目是N,一共N列N个样本。
其主要调用形式有:
1. [Y,PS] = mapminmax(X,YMIN,YMAX) % 将矩阵的每一行压缩到 [YMIN,YMAX],其中当前行的最大值变为YMAX,最小值变为YMIN
2. [Y,PS] = mapminmax(X,FP) %其中FP为结构体类型,这时就是将矩阵的每一行压缩到[FP.ymin, FP.ymax]中
- 例如:
- x=[2,3,4,5,6;7,8,9,10,11];
- mapminmax(x,0,1)
- fp.ymin=0; %fp为结构体类型
- fp.ymax=1;
- mapminmax(x,fp)
3. Y = mapminmax('apply',X,PS) %ps为一种映射关系 对其他数值进行归一化时,这个数必须要在xmin 和xmax之间,不然归一化的结果,与整体进行归一化,结果会不一样
4. X = mapminmax('reverse',Y,PS) % 反归一化 得到原来的值
5. dx_dy = mapminmax('dx_dy',X,Y,PS) %不常用 根据给定的矩阵X、标准化矩阵Y及映射PS,获取逆向导数(reverse derivative)。如果给定的X和Y是m行n列的矩阵,那么其结果dx_dy是一个1×n结构体数组,其每个元素又是一个m×n的对角矩阵
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%
mapminmax的数学公式为y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin。如果某行的数据全部相同,此时xmax=xmin,除数为0,则此时数据不变
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%
Process matrices by mapping each row's means to 0 and deviations to 1:将矩阵的每一行映射为0均值1方差的数据。
主要调用形式有:
1. [Y,PS] = mapstd(X,ymean,ystd) % 均值为ymean, 方差为ystd
2. [Y,PS] = mapstd(X,FP)
3. Y = mapstd('apply',X,PS)
4. X = mapstd('reverse',Y,PS)
5. dx_dy = mapstd('dx_dy',X,Y,PS)
和mapminmax类似的,1和2式是对数据X进行标准化,其中ymean和ystd是期望得到数据的每一行的均值和方差,同样的,我们也可以用一个结构体包含 ymean 和ystd进行带入
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------%
mapstd公式为y = (x-xmean)*(ystd/xstd) + ymean。如果设置的ystd=0,或某行的数据全部相同(此时xstd =0)
mean默认是对每一列求均值,mean(x,2)是对每一行求均值,std函数默认求的是标准差的无偏估计,有三种用法,s = std(X),s = std(X,flag),s = std(X,flag,dim)
其中flag是无偏估计的参数,flag=0是无偏估计,即默认 是无偏估计,flag=1是有偏估计,dim表示对第几维求方差,std(X,0,2)表示对X的每一行做无偏的标准差估计。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。