主要内容

mapminmax

处理矩阵,将行最小值和最大值映射到[1

描述

例子

提示

要为深度学习工作流重新缩放数据,请为输入层使用规范化名称值对。

YPS= mapminmax(XYMINYMAX需要一个N——- - - - - -矩阵,X的每一行可选的最小值和最大值YYMIN而且YMAX,并返回一个N——- - - - - -矩阵,Y,以及允许对值进行一致处理的流程设置,PS

mapminmax通过将每一行的最小值和最大值归一化为[来处理矩阵。YMINYMAX].

YPS= mapminmax(X《外交政策》)以形参为结构体:FP.yminFP.ymax

Y= mapminmax(“应用”,XPS返回Y,鉴于X和设置PS

X= mapminmax(“逆转”,Y,PS返回X,鉴于Y和设置PS

Dx_dy = mapminmax(' Dx_dy ',X, Y,PS返回逆导数。

例子

全部折叠

这个例子展示了如何格式化一个矩阵,使每一行的最小值和最大值映射到默认的间隔[1 + 1].

X1 = [1 2 4;11 11 1;3 2 2;0 0 0] [y1,PS] = mapminmax(x1)

接下来,对新值应用相同的处理设置。

X2 = [5 2 3;11 11 1;6 7 3;0 0 0] y2 = mapminmax(“应用”x2, PS)

逆向处理日元得到x1一次。

X1_again = mapminmax(“反向”, y1, PS)

输入参数

全部折叠

矩阵,指定为N——- - - - - -矩阵。

输出矩阵中每一行的最小值Y,指定为标量。

输出矩阵的每一行的最大值Y,指定为标量。

输出参数

全部折叠

处理后的矩阵,返回为N——- - - - - -矩阵。

允许对作为结构返回的值进行一致处理的过程设置。

更多关于

全部折叠

规范化输入和目标的使用mapminmax

在训练之前,对输入和目标进行缩放通常是有用的,这样它们总是落在指定的范围内。这个函数mapminmax缩放输入和目标,使它们落在[- 1,1]范围内。下面的代码说明了如何使用这个函数。

[pn,ps] = mapminmax(p);[tn,ts] = mapminmax(t);Net = train(Net,pn,tn);

矩阵中给出了原始网络输入和目标p而且t.的规范化的输入和目标pn而且tn返回的所有函数都在区间[- 1,1]中。的结构ps而且ts包含设置,在本例中是原始输入和目标的最小值和最大值。在对网络进行了训练之后,将ps应该使用设置来转换应用到网络的任何未来输入。它们有效地成为网络的一部分,就像网络权重和偏差一样。

如果mapminmax用于缩放目标,则网络的输出将被训练产生范围为[- 1,1]的输出。要将这些输出转换回原始目标所使用的相同单位,请使用设置ts.下面的代码模拟在前面代码中训练的网络,然后将网络输出转换回原始单元。

An = sim(net,pn);A = mapminmax('reverse',an,ts);

网络输出一个对应于规范化的目标tn.非标准化网络输出一个和原来的目标在同一单位吗t

如果mapminmax用于预处理训练集数据,然后当训练网络与新的输入一起使用时,它们应该用存储在设置中的训练集计算的最小值和最大值进行预处理ps.下面的代码将一组新的输入应用到已经训练过的网络。

Pnewn = mapminmax('apply',pnew,ps);Anewn = sim(net,pnewn);renew = mapminmax('reverse', renew,ts);

对于大多数网络,包括feedforwardnet,这些步骤是自动完成的,因此您只需要使用sim卡命令。

算法

有人认为X只有有限的实值,并且每一行的元素都不相等。(如果xmax = xmin或者如果xmaxxmin是非有限的吗y = x没有变化。)

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

版本历史

在R2006a中引入