数据预处理流程(数据预处理规则)

为什么要做数据预处理

数据预处理(data preprocessing)

现实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据挖掘,或挖掘结果差强人意。为了提高数据挖掘的质量产生了数据预处理技术。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。

数据的预处理是指对所收集数据进行分类或分组前所做的审核、筛选、排序等必要的处理。

数据预处理在众多深度学习算法中都起着重要作用。实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果。但是预处理的精确参数并非显而易见,一般需要尝试。

一、数据归一化

数据预处理中标准的第一步是数据归一化。这一步通常视具体情况选择。归一化的一般方法有如下3种:

1.简单缩放

2.逐样本均值消减(也称为移除直流分量)

3.特征标准化(使数据集中所有特征都具有零均值和单位方差)

在基于重构的模型中,损失函数有一项是用于惩罚那些与原始输入数据差异较大的重构结果(译注:以自动编码机为例,要求输入数据经过编码和解码之后还能尽可能的还原输入数据)。如果 epsilon 太小,白化后的数据中就会包含很多噪声,而模型要拟合这些噪声,以达到很好的重构结果。因此,对于基于重构的模型来说,对原始数据进行低通滤波就显得非常重要。

提示:如果数据已被缩放到合理范围(如[0,1]),可以从epsilon = 0.01或epsilon = 0.1开始调节epsilon。

>>>>

2.2基于正交化的ICA模型

对基于正交化ICA(独立主元分析)的模型来说,保证输入数据尽可能地白化(即协方差矩阵为单位矩阵)非常重要。这是因为:这类模型需要对学习到的特征做正交化,以解除不同维度之间的相关性(详细内容请参考 ICA 一节)。因此在这种情况下,epsilon 要足够小(比如 epsilon = 1e − 6)。

提示:我们也可以在PCA白化过程中同时降低数据的维度。这是一个很好的主意,因为这样可以大大提升算法的速度(减少了运算量和参数数目)。确定要保留的主成分数目有一个经验法则:即所保留的成分的总方差达到总样本方差的 99% 以上。(详细内容请参考PCA )

注意: 在使用分类框架时,我们应该只基于练集上的数据计算PCA/ZCA白化矩阵。需要保存以下两个参数留待测试集合使用:(a)用于零均值化数据的平均值向量;(b)白化矩阵。测试集需要采用这两组保存的参数来进行相同的预处理。

三、具体应用注意事项

1)大图像。采用基于 PCA/ZCA 的白化方法是不切实际的,因为协方差矩阵太大。在这些情况下我们退而使用 1/f 白化方法。

2)自然灰度图像。具有平稳特性,我们通常在第一步对每个数据样本分别做均值消减(即减去直流分量),然后采用 PCA/ZCA 白化处理,其中的 epsilon 要足够大以达到低通滤波的效果。

3)彩色图像,色彩通道间并不存在平稳特性。因此我们通常首先对数据进行特征缩放(使像素值位于 [0,1] 区间),然后使用足够大的 epsilon 来做 PCA/ZCA。注意在进行 PCA 变换前需要对特征进行分量均值归零化。

4)音频数据 (MFCC 和频谱图),每一维度的取值范围(方差)不同。例如 MFCC 的第一分量是直流分量,通常其幅度远大于其他分量,尤其当特征中包含时域导数 (temporal derivatives) 时(这是音频处理中的常用方法)更是如此。因此,对这类数据的预处理通常从简单的数据标准化开始(即使得数据的每一维度均值为零、方差为 1),然后进行 PCA/ZCA 白化(使用合适的 epsilon)。

5)MNIST手写数字。数据集的像素值在 [0,255] 区间中。我们首先将其缩放到 [0,1] 区间。实际上,进行逐样本均值消去也有助于特征学习。注:也可选择以对 MNIST 进行 PCA/ZCA 白化,但这在实践中不常用。

四、一些常见的名称中英文对照

数据预处理流程(数据预处理规则)(1)

归一化 normalization

白化 whitening

直流分量 DC component

局部均值消减 local mean subtraction

消减归一化 sparse autoencoder

缩放 rescaling

逐样本均值消减 per-example mean subtraction

特征标准化 feature standardization

平稳 stationary

Mel倒频系数 MFCC

零均值化 zero-mean

低通滤波 low-pass filtering

基于重构的模型 reconstruction based models

自编码器 autoencoders

稀疏编码 sparse coding

受限Boltzman机 RBMs

k-均值 k-Means

长尾 long tail

损失函数 loss function

正交化 orthogonalization

数据预处理流程(数据预处理规则)(2)

点击“阅读原文”查看更多精彩

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页