数据预处理
数据预处理的目的是使原始数据更加适合于使用神经网络处理,数据预处理的方法包括向量化、标准化、处理缺失值和特征提取。
- 向量化:神经网络的所有输入和目标都必须是浮点张量。任何数据,包括声音、图像、文字都必须首先转换为张量,这个步骤叫做数据向量化。
- 值标准化:在完成向量化后的数据,一般需要将取值相对较大的数据或者异质数据进行标准化。向神经网络输入的数据一般应该具有取值较小(大部分值都在\(0 \sim 1\)范围之内)和同质性(所有特征的取值应该在大致相同的范围)两个特征。
- 处理缺失值:用于神经网络的数据中可能会存在缺失值,但一般对于神经网络来说,将缺失值设置为0是安全的。只要0不是一个有意义的值,神经网络就可以忽略这个值。但是需要注意的是,如果神经网络没有学会处理缺失值,那么在应用到带有缺失值的实际数据中时,就会出现潜在的问题。这种情况下应该人为生成带缺失值的训练样本进行补充训练。
- 特征提取:特征工程是指在数据输入模型之前,先利用算法对数据进行硬编码转换,以改善模型的效果。多数情况下,呈现给模型的数据应该便于模型进行学习。虽然针对现代深度学习,大部分的特征工程都是不需要的,但是良好的特征仍然可以让你用更少的资源和数据解决问题。