数据归一化的方法总结

13 篇文章 0 订阅
10 篇文章 0 订阅

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:

  • min-max标准化
  • log函数转换
  • atan函数转换
  • z-score标准化
  • z-score改进版

min-max标准化

这种方法也叫离差标准化, 对原始数据进行线性变化, 使数据落在 [0,1] 之间, 具体的转化函数为:

x=xminmaxmin

其中max为当前样本数据中, 该属性的最大值, min为最小值.
这种方法处理速度快, 但是, 当有新的数据加入时, max和min发生变化, 需要重新归一化.

log函数转换

通过以10为底的log函数转化的方法同样可以实现归一化, 具体公式如下:

x=log10(x)log10(max)

atan函数转化

使用反正切函数也可以实现数据的归一化:

x=atan(x)2π

这种方法将所有的数据映射到 [1,1] 上, 小于0的数据将映射到 [1,0] 上.

z-score 标准化

这种方法也叫标准差标准化, 经过处理的数据符合标准正态分布, 即均值为0, 标准差为1, 转换函数为:

x=xμσ

其中, μ 为样品的均值, σ 为样品的标准差.

改进型 z-score 标准化

z-score 转化函数中的均值和标准差受离群点影响较大, 因此需要对原有的公式进行改进.
首先使用中位数代替均值, 使用绝对标准差代替标准差.

绝对标准差的计算公式:

σA=i=1m|xiμ|

其中, μ 为样品的均值或者中位数.

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyTorch中,数据归一化是指将原始数据转换为具有特定均值和标准差的数据。通过归一化,我们可以使得数据的范围在一定的范围内,消除奇异样本数据导致的不良影响。这对于训练模型和优化算法来说非常重要。在PyTorch中,可以使用transforms.Normalize进行数据归一化。 具体来说,对于归一化,我们需要先计算出数据的均值和标准差,然后利用transforms.Normalize进行转换。我们可以通过计算整个数据集的均值和标准差来得到归一化的mean和std。这些计算得到的mean和std可以用来反归一化数据。 反归一化的过程就是使用计算得到的反归一化的mean和std,再次利用transforms.Normalize进行转换。这样就可以得到原始数据的值。 举个例子,假设我们有一个图像数据集,我们想要对其进行归一化。首先,我们计算整个数据集的均值和标准差。然后,我们可以使用transforms.Normalize(mean=channel_mean, std=channel_std)将数据集中的每个样本进行归一化处理。这样得到的数据可以在训练和优化过程中使用。 如果我们想要将归一化后的数据还原为原始数据,我们可以使用相同的mean和std值,再次利用transforms.Normalize进行转换。这样就可以得到反归一化后的数据总结起来,PyTorch中的数据归一化和反归一化是通过计算数据集的均值和标准差,并利用transforms.Normalize进行转换来实现的。这样可以限定数据的范围并消除奇异样本数据的影响。同时,反归一化可以将归一化后的数据还原为原始数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值