1. 去均值
操作:各维度都减对应维度的均值,使得输入数据各个维度都中心化为0原因:如果不去均值的话会容易拟合。 这是因为如果在神经网络中,特征值x比较大的时候,会导致W*x+b的结果也会很大,这样进行**函数(如relu)输出时,会导致对应位置数值变化量太小,进行反向传播时因为要使用这里的梯度进行计算,所以会导致梯度消散问题,导致参数改变量很小,也就会易于拟合,效果不好。
去均值的效果如下:
其他:有的说去均值是为了对图像进行标准化,可以移除图像的平均亮度值 (intensity)。很多情况下我们对图像的照度并不感兴趣,而更多地关注其内容,比如在对象识别任务中,图像的整体明亮程度并不会影响图像中存在的是什么物体。这时对每个数据点移除像素的均值是有意义的。
而另一个资料显示在每个样本上减去数据的统计平均值可以移除共同的部分,凸显个体差异。其效果如下所示:
另外,我们在计算图像均值时,应该只需针对于训练集进行计算,而非使用测试集,验证集和其他以外的数据集进行计算,否则否则就违背了深度学习的原则:模型训练过程仅能从训练模型中获取信息
2. 归一化
- 最值归一化:比如把最大值归一化成1,最小值归一化成-1;或把最大值归一化成1,最小值归一化成0。适用于本来就分布在有限范围内的数据。
- 均值方差归一化:一般是把均值归一化成0,方差归一化成1。适用于分布没有明显边界的情况。
原因:进行归一化的原因是把各个特征的尺度控制在相同的范围内,这样可以便于找到最优解,不进行归一化时如左图,进行归一化后如右图,可发现能提高收敛效率,省事多了。
3. PCA/白化
- PCA:PCA是指通过抛弃携带信息量较少的维度,保留主要的特征信息来对数据进行降维处理;PCA可用于特征提取,数据压缩,去噪声,降维等操作。
- 白化:白化的目的是去掉数据之间的相关联度和令方差均一化,由于图像中相邻像素之间具有很强的相关性,所以用于训练时很多输入是冗余的。这时候去相关的操作就可以采用白化操作,从而使得:
- 减少特征之间的相关性
- 特征具有相同的方差(协方差阵为1)
- 白化因为进行了方差均一化,所以还可以提升训练速度。