深度学习中为什么要数据预处理?并对测试集进行与训练集一样的数据预处理

拿到数据都要做预处理,包括去均值和方差归一化。构造的数据幅度保持在-1到1之间,否则会不收敛。

训练集与测试集一般默认是同一分布下的,两者要么统一标准化,要么不进行标准化。

我们是拿训练集中数据的某个特征代表了全部数据的这个特征,用它的均值和方差代表了全部数据的均值和方差。这就很容易理解了,测试集要使用训练集的均值和方差进行标准化,不就是在用我们假设的数据特征服从的均值和方差进行标准化吗?所以不只是深度学习,传统机器学习算法的预处理也需要这么做。深度学习做了标准化后能够对网络的训练有一些益处罢了,这也是为什么做bn,ln的原因,以及网络中用到的各种归一化的trick,对深度学习中网络优化过程中数值的稳定性有一定的帮助。

ref
https://www.zhihu.com/question/479694291

你可能感兴趣的:(深度学习,计算机视觉,人工智能)