反向归一化函数咨询:将最大值映射为0、最小值映射为1的方法
反向归一化(最大值映射为0,最小值映射为1)的实现方法
当然存在这种反向映射的方法啦!本质上就是把常规的0-1归一化逻辑反转一下,咱们可以直接从原公式推导出来,非常简单。
先回顾你提到的常规0-1归一化公式:
常规归一化(将最大值映射为1,最小值映射为0):
$$\text{normalized}(X) = \frac{X - \min}{\max - \min}$$
要实现将最大值映射为0、最小值映射为1的反向映射,只需要用1减去常规归一化的结果即可,推导后的最终公式有两种等价写法:
写法一(直观反转):
$$\text{reverse_normalized}(X) = 1 - \frac{X - \min}{\max - \min}$$
写法二(简化后):
$$\text{reverse_normalized}(X) = \frac{\max - X}{\max - \min}$$
效果验证:
- 当X等于数据集的最大值
max时,代入公式得:$\frac{\max - \max}{\max - \min} = 0$,完全符合需求 - 当X等于数据集的最小值
min时,代入公式得:$\frac{\max - \min}{\max - \min} = 1$,完美满足要求 - 中间的数值会被线性映射到0-1区间,只是映射顺序和常规归一化完全相反
举个实际例子:假设你的数据范围是[3, 15],用反向归一化处理时:
- 15(最大值)→ 0
- 3(最小值)→ 1
- 9(中间值)→ $\frac{15-9}{15-3} = \frac{6}{12} = 0.5$
内容的提问来源于stack exchange,提问作者user840718
相关产品推荐
相关产品推荐

