数据的标准化(normalization)和归一化

数据的标准化

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

目前数据标准化方法:直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循。

归一化

数据标准化中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。

归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。归一化有同一、统一和合一的意思。无论是为了建模还是为了计算,首先基本度量单位要同一,神经网络是以样本在事件中的统计分别几率来进行训练(概率计算)和预测的,且sigmoid函数的取值是0到1之间的,网络最后一个节点的输出也是如此,所以经常要对样本的输出归一化处理。归一化是统一在0-1之间的统计概率分布,当所有样本的输入信号都为正值时,与第一隐含层神经元相连的权值只能同时增加或减小,从而导致学习速度很慢。另外在数据中常存在奇异样本数据,奇异样本数据存在所引起的网络训练时间增加,并可能引起网络无法收敛。为了避免出现这种情况及后面数据处理的方便,加快网络学习速度,可以对输入信号进行归一化,使得所有样本的输入信号其均值接近于0或与其均方差相比很小。

归一化的目标

1 把数变为(0,1)之间的小数

2 把有量纲表达式变为无量纲表达式

归一化的好处

1. 提升模型的收敛速度

2.提升模型的精度

常见的数据归一化方法

最常用的是 min-max标准化 和 z-score 标准化。

min-max标准化

是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:

其中max为样本数据的最大值,min为样本数据的最小值。

def Normalization(x):

return [(float(i)-min(x))/float(max(x)-min(x)) for i in x]

如果想要将数据映射到[-1,1],则将公式换成:

x* = x* * 2 -1

或者进行一个近似

x* = (x - x_mean)/(x_max - x_min), x_mean表示数据的均值。

def Normalization2(x):

return [(float(i)-np.mean(x))/(max(x)-min(x)) for i in x]

这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

ps: 将数据归一化到[a,b]区间范围的方法:

(1)首先找到原本样本数据X的最小值Min及最大值Max

(2)计算系数:k=(b-a)/(Max-Min)

(3)得到归一化到[a,b]区间的数据:Y=a+k(X-Min)  或者 Y=b+k(X-Max)

即一个线性变换,在坐标上就是求直线方程,先求出系数,代入一个点对应的值(x的最大/最小就对应y的最大/最小)就ok了。

z-score 标准化(zero-mean normalization)

参考:

log函数转换

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

使用注意:max为样本数据最大值,并且所有的数据都要大于等于1。

atan函数转换

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

使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上,而并非所有数据标准化的结果都映射到[0,1]区间上。

对数坐标归一化_数据的归一化处理相关推荐

  1. 对数坐标归一化_数据预处理-归一化/数据转换

    有时候我们在拿到原始数据的时候,我们不能直接使用.大概场景有下面这些,我遇到的 1. 数字比较大,容易爆计算量,更不容易收敛 2. 比如房子价格这种变量,并不是正态分布,有时候不利于我们做一些和正态分 ...

  2. r语言归一化_数据变换-归一化与标准化

    一般在机器学习的模型训练之前,有一个比较重要的步骤是数据变换. 因为,一般情况下,原始数据的各个特征的值并不在一个统一的范围内,这样数据之间就没有可比性. 数据变换的目的是将不同渠道,不同量级的数据转 ...

  3. 对数坐标归一化_数据归一化,标准化的几种方法

    归一化方法(Normalization Method) 1. 把数变为(0,1)之间的小数 主要是为了数据处理方便提出来的,把数据映射到0-1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内. ...

  4. python 归一化_数据的标准化和归一化

    数据的标准化 归一化 归一化的目标 归一化的好处 归一化的方法 无量纲表达式 为什么要对数据进行归一化处理 常见的数据归一化方法 Python归一化处理方法 数据的标准化 数据的标准化(normali ...

  5. 均值归一化_数据归一化

    数据归一化 [TOC] 将所有的数据映射到同一尺度. ​ 首先,为什么需要数据归一化?举个简答的例子.样本间的距离时间所主导,这样在样本1以[1, 200]输入到模型中去的时候,由于200可能会直接忽 ...

  6. python 归一化_几种归一化方法(Normalization Method)python实现

    数据归一化问题是数据挖掘中特征向量表达时的重要问题,当不同的特征成列在一起的时候,由于特征本身表达方式的原因而导致在绝对数值上的小数据被大数据"吃掉"的情况,这个时候我们需要做的就 ...

  7. python numpy创建矩阵、并归一化_NumPy数据的归一化

    数据的归一化 首先我们来看看归一化的概念: 数据的标准化(normalization)和归一化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价 ...

  8. 均值归一化_机器学习之归一化(Normalization)

    一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,那么为什么要归一化呢? 目录: 定义 优点 方法 结构 一.定义 数据标准化(Normalization ...

  9. 均值归一化_数据预处理:标准化和归一化

    网上很多关于标准化和归一化的文章,不少是误人子弟的存在.这篇文字希望给大家讲清讲透这两个概念. 一.标准化(standardization) 公式一般为:(X-mean)/std,其中mean是平均值 ...

最新文章

  1. 解决Oracle数据库不能导出空表的问题
  2. 走向通用智能的核心:任务树的建立
  3. 稀疏矩阵之python实现
  4. OpenCV曼德布罗特平行线Mandelbrot Parallel的实例(附完整代码)
  5. 团队项目冲刺第一阶段03
  6. OCP Java 自测
  7. 长大了,也弄丢了很多东西
  8. 基于java springboot+mybatis OA办公自动化系统设计和实现
  9. sublime3使用笔记
  10. 获取本地IP和端口号的指令
  11. mysql 查询多个号段_SQL查询连续号码段的巧妙解法
  12. SOLD2算法详解之1 backbone(CVPR2021 源码解析)
  13. 【线性代数笔记】幂等矩阵的性质
  14. ACM简单题——不能被3整除的数
  15. 一个程序员转型 AI 工程师的故事
  16. TypeError: first argument must be an iterable of pandas objects, you passed an object of type “DataF
  17. linux下使用PulseAudio获取扬声器的音量和是否静音(C++)
  18. lj2400恢复出厂_联想LJ2400打印机有几种,清零方法是什么,只搜到一种清零方式,我的机器还不是这一种。...
  19. 浅谈SQL注入,XSS攻击
  20. ETH-TRUNK(链路汇聚技术)

热门文章

  1. 服务器冷硬盘,浪潮SR整机柜冷存储方案助力BAT轻松实现海量存储
  2. 性能分析11-内存分析2-内存溢出定位方式
  3. mysql某张表删除慢_Mysql某个表有近千万数据,CRUD比较慢,如何优化?
  4. 推荐一款仿Perfdog免费的Android/iOS性能测试工具-SoloX
  5. php判断图片是否可用,PHP判断图片是否损坏
  6. C语言程序设计基础练习题二
  7. 使用localStorage存储数据每次调用setItem()它都会添加或覆盖现有值
  8. 新《三国》的两点观后感
  9. [CF480E]Parking Lot
  10. Qt - QSettings实现用户偏好保存