文章代码来源:《deep learning on keras》,非常好的一本书,大家如果英语好,推荐直接阅读该书,如果时间不够,可以看看此系列文章。
神经网络数据预处理
向量化
全部的输入和目标必须是浮点数张量。无论你要处理的数据类型是什么,声音、图像、文本,你都必须将其转为张量,这一步叫做“数据向量化”。例如在之前的例子中,我们通过“one-hot encoding”将原来的整型列表转化成了float32的数据。
值归一化
太大了的话可能会导致不收敛的情况发生,所以一般来说都会进行归一化,接下来看一段小代码:
# Assuming x is a 2D data matrix of shape (samples, features)
x -= x.mean(axis=0)
x /= x.std(axis=0)
上面很简洁的给出了一个二维数组的归一化方法。
解决丢失值的问题
有的时候我们的数据可能会某几个特征的值丢掉了,我们直接把丢掉的赋值为0,模型在训练的时候就会忽略掉它,但是如果我们的训练集都没有丢,但是测试集丢了,那么我们不能够这么做。我们要通过复制很多训练集