2026b

# mapminmax


通过将行最小值和最大值映射到 [-1,1] 来处理矩阵

函数库: TyDeepLearning

# 语法

Y, PS = mapminmax(X)
Y, PS = mapminmax(X, YMIN, YMAX)
Y = mapminmax("apply",X,PS)
X = mapminmax("reverse",Y,PS)

# 说明

Y, PS = mapminmax(X) 将矩阵 X 的行最小值和最大值映射到 [-1,1] 来处理矩阵。


Y, PS = mapminmax(X, YMIN, YMAX) 将矩阵 X 的行最小值和最大值映射到 [YMIN,YMAX] 来处理矩阵。


Y = mapminmax("apply", X, PS) 在给定 X 和设置 PS 的情况下,Y = mapminmax("apply", X, PS) 返回 Y。


X = mapminmax("reverse", Y, PS) 在给定 Y 和设置 PS 的情况下,X = mapminmax("reverse", Y, PS) 返回 X。

# 示例

使用 mapminmax 函数归一化矩阵

此示例说明如何使用 mapminmax 函数将矩阵的行归一化。

创建要对其中的列进行归一化的矩阵 x1。然后对此矩阵调用 mapminmax 函数。

using TyDeepLearning
set_backend(:mindspore)
x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]
y1, PS = mapminmax(x1)
y1
4×3 Matrix{Float64}:
 -1.0  -0.333333   1.0
  1.0   1.0        1.0
  1.0  -1.0       -1.0
  0.0   0.0        0.0

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

x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0]
y2 = mapminmax("apply",x2,PS)
4×3 Matrix{Float64}:
 1.66667  -0.333333  0.333333
 1.0       1.0       1.0     
 7.0       9.0       1.0
 0.0       0.0       0.0

反向处理 y1,以再次得到 x1。

x1_again = mapminmax("reverse",y1,PS)
4×3 Matrix{Float64}:
 1.0  2.0  4.0
 1.0  1.0  1.0
 3.0  2.0  2.0
 0.0  0.0  0.0

# 输入参数

X - 输入矩阵
数组

输入矩阵。

数据类型: Float16 | Float32 | Float64 | Int64

YMIN - 最小值
标量

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

数据类型: Float16 | Float32 | Float64 | Int64

YMAX - 最大值
标量

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

数据类型: Float16 | Float32 | Float64 | Int64

# 输出参数

Y - 归一化矩阵
数组

归一化矩阵,行归一化为 [-1, 1] 之间。

数据类型: Float16 | Float32 | Float64 | Int64

PS - 处理设置
结构体

允许一致处理值的处理设置,以结构体形式返回。

数据类型: Float16 | Float32 | Float64