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