理论知识UFLDL数据预处理http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html

数据预处理是深度学习中非常重要的一步!如果说原始数据的获得,是深度学习中最重要的一步,那么获得原始数据之后对它的预处理更是重要的一部分。

 

1.数据预处理的方法

①数据归一化

简单缩放:对数据的每一个维度的值进行重新调节,使其在 [0,1]或[ − 1,1] 的区间内

逐样本均值消减:在每个样本上减去数据的统计平均值,用于平稳的数据,对图像一般只用在灰度图上。

特征标准化:使数据的每一个维度具有零均值和单位方差。首先计算每一个维度上数据的均值(使用全体数据计算),之后在每一个维度上都减去该均值,然后在数据的每一维度上除以该维度上数据的标准差。最常用!

②白化:PCA白化、ZCA白化。重点是规则化项 epsilon的选择!

           如果 epsilon 值过低,白化后的数据会显得噪声很大;相反,如果 epsilon 值过高,白化后的数据与原始数据相比就过于模糊。

epsilon的选择方法:

           a.以图形方式画出数据的特征值;b.选取大于大多数较小的、反映数据中噪声的特征值作为 epsilon 。

 

2.具体怎么调节epsilon?没搞懂,要是有个Exercise就好了

 

2.预处理时,什么时候该进行逐样本均值消减(即:单独每个样本0均值化,而不是用所有样本每一维度0均值化)?

在数据的每个维度的统计性质是一样的时候。对于图像来说就是,对图像的照度并不感兴趣,而更多地关注其内容,这时对每个数据点移除像素的均值是有意义的,这时可以逐样本均值消减,它一般只适用于灰度图。

注意:彩色图像不能“逐样本均值消减”,它的归一化方法及原因见Deep Learning 九_深度学习UFLDL教程:linear decoder_exercise(斯坦福大学深度学习教程),即:“每一维0均值化”,进行预处理。