ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# **数据领域通用的基本方法** ### **神经网络的数据预处理**:使原始数据更适于用神经网络处理 * **向量化:** **所有**输入和目标都必须是**浮点数张量** **无论**处理什么数据(声音、图像还是文本)都必须首先将其转换为**张量** =》数据向量化(data vectorization) * **值标准化:** 对每个特征分别做标准化,使其均值为 0、标准差为 1 输入数据应该具有以下特征: * **取值较小**:大部分值都应该在 0~1 范围内。 * **同质性**(homogenous):所有特征的取值都应该在大致相同的范围内。 =》更严格的方法: * 将每个特征分别标准化,使其平均值为 0。 * 将每个特征分别标准化,使其标准差为 1。 ``` x -= x.mean(axis=0) x /= x.std(axis=0) ``` * **处理缺失值:** 训练数据或测试数据将会有缺失值 * 一般来说,对于神经网络,将缺失值设置为 0 是安全的,只要 0 不是一个有意义的值。网络能够从数据中学到 0 意味着**缺失数据**,并且会忽略这个值。 * 如果测试数据中可能有缺失值,而网络是在**没有缺失值的数据上训练**的: **网络不可能学会忽略缺失值** =》解决方法:**人为生成**有**缺失**项的训练样本,多次**复制**训练样本,**删除**测试数据中可能缺失的某些**特征** * **特征提取:** * 将数据输入模型之前,利用你自己关于数据和机器学习算法(这里指神经网络)的**知识**对数据进行**硬编码的变换**(不是模型学到的),以改善模型的效果。 * 用更简单的方式表述问题,从而使问题变得更容易 =》 * 良好的特征仍然可以让你用更少的资源更优雅地解决问题 * 良好的特征可以让你用更少的数据解决问题