1、数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果。然而除非对这些算法有丰富的使用经验,否则预处理的精确参数并非显而易见。
提示:当我们开始处理数据时,首先要做的事是观察数据并获知其特性。本部分将介绍一些通用的技术,在实际中应该针对具体数据选择合适的预处理技术。例如一种标准的预处理方法是对每一个数据点都减去它的均值(也被称为移除直流分量,局部均值消减,消减归一化),这一方法对诸如自然图像这类数据是有效的,但对非平稳的数据则不然。
2、数据归一化
数据预处理中,标准的第一步就是数据归一化。虽然这里有一些列可行的方法,但是这一步通常根据数据的具体情况而明确选择的。特征归一化常用的方法主要包含以下几种:
- 简单缩放
- 逐样本均值消减(也称为移除直流分量)
- 特征标准化(使数据集中所有特征都具有零均值和单位方差)
简单缩放:在简单缩放中,目的是通过对数据的每一个维度的值进行重新调整(这些维度可能是相互独立的),使得最终的数据向量落在[0,1]或平[-1,1]的区间内(根据数据情况而定)。这对后续的处理十分重要,因为很多默认参数(如PCA-白化中的epsilon)都假定数据已被缩放到合理的区间。
例子:在处理自然图像时,获得的像素值在[0,255]区间中,常用的处理是将这些像素值除以255,使它们缩放到[0,1]中。
逐样本均值消减:如果数据是平稳的(即数据每一个维度的统计都服从相同分布),那么你可以考虑在每个样本上减去数据的统计平均值(逐样本计算)。
例子:对于图像,这种归一化可以移除图像的平均亮度值(intensity)。很多情况下,对图像的照度并不是很感兴趣,而更多的关注内容,这时对每个点移除像素的均值是有意义的,注意:虽然该方法广发地应用于图像,但是在处理彩色图像时,需要格外小心,具体的说,是因为不同色彩通道中的像素并不存在平稳特性。