数据预处理
数据预处理指的是在数据送入神经网络之前的处理过程,它主要是为了使神经网络又好又快的收敛。本文将介绍四种数据预处理方法:1.零中心化 2.归一化 3.PCA 4.白化
零中心化
零中心化指的是令处理后的数据均值为0的过程。从数学上说就是令每一个维度的数据减去该维度上数据的均值。如果在图像领域,一般有两种处理方法,1)可以将三通道的像素值减去整幅图像的均值.2)也可以三通道的像素值分别减去各自通道的均值。零中心化无论在机器学习领域还是卷积神经网络方面都非常重要。
归一化
归一化指的是令数据的所有维度的取值范围近似相等的过程。从数学上说,就是将零中心化的数据再除以标准差的过程。这一点在机器学习领域很重要,但是在图像处理领域没必要,因为所有像素的取值范围都是
[0,255]
关于这部分的理解,可以类比将普通正态分布的数据 N~(μ,σ^2)转换为标准正态分布N~(0,1)的过程
PCA
PCA又叫主成分分析,顾名思义,将数据中重要维度的特征留下,不重要的特征去掉。它主要是通过对协方差矩阵的奇异值分解实现,将原始数据与经过奇异值分解后的列特征向量相乘就可以得到原始数据的主成分。可以通过控制列特征向量U的维数m来决定提取前m个重要的特征。
白化
白化是指对提取了主成分的数据,进行归一化操作。用数学表示为将提取了主成分的数据除以特征值,而这里特征值可以表示为奇异值分解协方差矩阵中的特征值S的开方
在实际中,所有的预处理操作的取均值等只能由训练数据得到,这点必须注意,因为测试数据是不可知的,当然无法拿到均值等信息。