数据处理中的归一化与反归一化

人工智能31

一、定义

数据归一化(标准化)是数据预处理的一项基础工作, 不同评价指标往往具有不同的量纲和量纲单位,为避免影响数据分析结果、消除指标之间的量纲影响,须对数据进行标准化处理

数据的归一化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权,加快训练网络的收敛性。其中最典型的就是数据的归一化处理,即 将数据统一映射到[0,1]区间上

二、两种常用的归一化方法

(1)线性函数归一化(Min-Max scaling)

  • 定义:理查标准化,是对原始数据的线性变换,使得结果映射到0-1之间
  • 本质:把数变为 [0, 1] 之间的小数

数据处理中的归一化与反归一化

X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值。

(2)0均值标准化(Z-score standardization)

  • 定义:将所有数据归一化到均值为0,方差为1的分布中
  • 本质:把有量纲表达式变为无量纲表达式

数据处理中的归一化与反归一化

μ和σ分别是原始数据集的平均值和方差。要求原始数据的分布可以近似为高斯分布。

[En]

μ and σ are the mean and variance of the original data set, respectively. It is required that the distribution of the original data can be approximately Gaussian distribution.

三、数据归一化和反归一化

在使用深度学习构建训练时,通常需要对数据进行归一化,以便于网络的训练,而在训练结果的可视化中,通常需要进行反归一化。

[En]

When using deep learning to construct training, it usually needs data normalization to facilitate the training of the network, while in the visualization of training results, it usually needs anti-normalization.

在sklearn模块中,fit_transform()、transform()进行数据归一化,inverse_transform()进行数据反归一化

1、fit_transform() 和 transform() 的区别

(1)fit_transform() 是 fit() 和 transform() 的组合。

(2) fit(x,y)传两个参数的是有监督学习的算法,fit(x)传一个参数的是无监督学习的算法。即:求得训练集X的均值,方差,最大值,最小值,这些训练集固有的属性。

(3)transform() 是在fit的基础上,进行标准化,降维,归一化等操作

(4)fit() 和 transform() 没有任何关系,之所以出来这么个函数名,仅仅是为了写代码方便。transform() 和 fit_transform() 二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)

注意:这两个函数不可以互相替换,绝对不可以!transform函数是一定可以替换为fit_transform函数的,fit_transform函数不能替换为transform函数!

fit_transform()的作用就是先拟合数据,然后转化它将其转化为标准形式;

数据处理中的归一化与反归一化

tranform()的作用是通过找中心和缩放等实现标准化。

数据处理中的归一化与反归一化

2、inverse_transform()的用法——反归一化

# 数据归一化
scaler = MinMaxScaler(feature_range=(0, 1))
scaled = scaler.fit_transform(values)

# 将标准化后的数据转换为原始数据(反归一化)
predicted_data = scaler.inverse_transform(data)

归一化时使用 scaler 进行归一化,反归一化仍然要使用 scaler 数据转换

Tips:如果归一化时的 values 的shape是(n, 3),则反归一化时的 data 的shape必须是(m, 3)

参考:

https://blog.csdn.net/program_developer/article/details/78637711

https://zhuanlan.zhihu.com/p/76682561

Original: https://blog.csdn.net/shuangrenyu5/article/details/123584288
Author: 路_遥
Title: 数据处理中的归一化与反归一化

相关文章
计算机领域中随处可见的抽象 人工智能

计算机领域中随处可见的抽象

想要管理多种具体的东西,那么需要遵守每种东西的规范。如果想要提供一种通用模式来对这些具体的东西统一管理,需要使用一种古老的技术:抽象。 抽象是将多种具体的东西(管理时需要遵守的规范)的共同点抽取出来,...
启英泰伦-腾讯云小微产品方案 人工智能

启英泰伦-腾讯云小微产品方案

1 离在线整体方案概述 ¶ 1.1 方案概述 ¶ 随着人们生活水平的提高,对产品的功能要求也越来越高,追求产品的多功能性。传统的离线语音产品仅本地功能控制,无法满足人们的对在线内容的需求。 传统家电,...
3.26 Tensorflow 实验记录 人工智能

3.26 Tensorflow 实验记录

实验1: 在一个简单的 仅有前向传播与反向传播的过程中,我们发现, 无论前向传播的参数(w1,w2)是多少,再训练足够多代之后,都会通过后向传播得到相同的损失率。 实验1.1: 实验1.2: 通过两个...
anaconda下安装TensorFlow 人工智能

anaconda下安装TensorFlow

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、anaconda 安装TensorFlow 二、安装步骤出现的问题以及解决 * 1.anaconda naviga...
灵境(元宇宙)深度解读 李正海 人工智能

灵境(元宇宙)深度解读 李正海

前言 灵境(元宇宙)这个词很火,网上有很多种概念定义,可以百度到的本文不做赘述。笔者经过长时间的思考,有了一些初步的认识。下面从四个方面解读灵境(元宇宙),分别是①信息内容的变化②现象&意义&...