关闭

数据归一化小结

标签: 归一化0均值标准化
11061人阅读 评论(0) 收藏 举报
分类:

在各种模型训练,特征选择相关的算法中,大量涉及到数据归一化的问题。比如最常见的情况是计算距离,如果不同维度之间的取值范围不一样,比如feature1的取值范围是[100,200],feature2的取值范围是[1,2],如果数据不做归一化处理,会造成feature1在距离计算中占压倒性的优势,feature2完全体现不出来作用。而数据做归一化处理以后,会让各个不同特征对距离计算的贡献大致相同,从而避免人为的数据倾斜。

常见的数据归一化方式如下:

1.线性归一化

如果要把输入数据转换到[0,1]的范围,可以用如下公式进行计算:

Xnorm=XXminXmaxXmin

按以上方式进行归一化以后,输入数据转换到[0,1]的范围。
有时候我们希望将输入转换到[-1,1]的范围,可以使用以下的公式
Xnorm=2(XXmin)XmaxXmin1

以上两种方式,都是针对原始数据做等比例的缩放。其中Xnorm 是归一化以后的数据,X是 原始数据大小,Xmax Xmin 分别是原始数据的最大值与最小值。公式简单明了,很容易懂。
除了将数据缩放到[0,1]或[-1,1]的范围,实际中还经常有其他缩放需求。例如在进行图像处理的过程中,获得的灰度图像的灰度值在[0,255]之间。常用的处理方式之一就是将像素值除以255,就缩放到了[0,1]之间。而在RGB图像转灰度图像的过程中,经常就将灰度值限定在[0,255]之间。

2.0均值归一化

0均值归一化将输入的原始数据集归一化为均值为0,方差为1的数据集。具体的归一化公式如下:

z=xμσ

其中,μ,σ是原始 数据集的均值与标准差。这种方式要求原始数据集的分布近似为正态(高斯)分布。否则归一化的效果很差。

http://ufldl.stanford.edu/wiki/index.php/数据预处理 中关于0均值归一化的描述:
特征标准化指的是(独立地)使得数据的每一个维度具有零均值和单位方差。这是归一化中最常见的方法并被广泛地使用(例如,在使用支持向量机(SVM)时,特征标准化常被建议用作预处理的一部分)。在实际应用中,特征标准化的具体做法是:首先计算每一个维度上数据的均值(使用全体数据计算),之后在每一个维度上都减去该均值。下一步便是在数据的每一维度上除以该维度上数据的标准差。
例子:处理音频数据时,常用 Mel 倒频系数 MFCCs 来表征数据。然而MFCC特征的第一个分量(表示直流分量)数值太大,常常会掩盖其他分量。这种情况下,为了平衡各个分量的影响,通常对特征的每个分量独立地使用标准化处理。

2
1
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

R语言数据最大最小归一化

lmdata1 center R lmdata2 lmdata2
  • Blackrosetian
  • Blackrosetian
  • 2017-10-10 17:50
  • 234

归一化方法总结

Ref: http://blog.csdn.net/zbc1090549839/article/details/44103801 http://my.oschina.net/sanji/blo...
  • junmuzi
  • junmuzi
  • 2015-10-05 20:21
  • 22741

再谈机器学习中的归一化方法(Normalization Method)

机器学习、数据挖掘工作中,数据前期准备、数据预处理过程、特征提取等几个步骤几乎要花费数据工程师一半的工作时间。同时,数据预处理的效果也直接影响了后续模型能否有效的工作。然而,目前的大部分学术研究主要集...
  • zbc1090549839
  • zbc1090549839
  • 2015-03-06 19:49
  • 54804

均值归一化处理(Mean normalization)

1.   Suppose m=4 students have taken some class,and the class had a midterm exam and a final exam. Y...
  • sinat_25361569
  • sinat_25361569
  • 2015-12-08 15:31
  • 6048

三种特征归一化的方法之SumNormalizer

特征归一化(Normalizer):就是将一条记录中各个特征的取值范围固定到【0,1】之间。从而使每一个特征值都在一个范围内。不至于各个特征值之间相差较大的范围。 特征归一化主要有3种方法:...
  • cw_hello1
  • cw_hello1
  • 2017-06-16 20:34
  • 915

数据预处理之数据归一化

转载来自ufldl.stanford.edu/wiki/index.php/数据预处理  一、简单缩放 分为:最大值缩放和均值缩放 在简单缩放中,我们的目的是通过对数据的每一个维度的值进行重新调...
  • u012751110
  • u012751110
  • 2016-04-09 11:20
  • 1705

TensorFlow数据归一化

TensorFlow数据归一化1. tf.nn.l2_normalize - l2_normalize(x, dim, epsilon=1e-12,name=None) - outpu...
  • zoray
  • zoray
  • 2017-07-03 22:01
  • 4048

深度学习(五十六)tensorflow项目构建流程

import tensorflow.nn.rnn_cell lstm = rnn_cell.BasicLSTMCell(lstm_size)#创建一个lstm cell单元类,隐藏层神经元个数为l...
  • hjimce
  • hjimce
  • 2016-07-13 17:05
  • 23431

TensorFlow——训练自己的数据(一)数据处理

参考:Tensorflow教程-猫狗大战数据集 贴一张自己画的思维导图 数据集准备 kaggle猫狗大战数据集(训练),微软的不需要翻墙 12500张cat 12500张dog 生成图片...
  • xinyu3307
  • xinyu3307
  • 2017-07-07 12:41
  • 6731

TensorFlow实现Batch Normalization

一、BN(Batch Normalization)算法 1. 对数据进行归一化处理的重要性 神经网络学习过程的本质就是学习数据分布,在训练数据与测试数据分布不同情况下,模型的泛化能力就大大降低;另一...
  • marsjhao
  • marsjhao
  • 2017-06-06 11:29
  • 3544
    个人资料
    • 访问:1338818次
    • 积分:12788
    • 等级:
    • 排名:第1251名
    • 原创:305篇
    • 转载:98篇
    • 译文:1篇
    • 评论:146条
    最新评论