概述
将数据输入神经网络之前,需要通过数据预处理、特征工程技术等准备输入数据和目标。
数据预处理的目的是使原始数据更适于用神经网络处理,包括向量化、标准化、处理缺失值和特征提取。
1. 向量化
神经网络的所有输入和目标都必须是浮点数张量。所以无论处理什么数据,都要先将数据转换为向量,即数据向量化。
2. 值标准化
将取值相对较大的数据或异质数据输入到神经网络中是不安全的。这么做可能导致较大的梯度更新,进而导致网络无法收敛。为了让网络的学习变得更容易,应使得输入数据取值较小,即大部分值都应该在 0~1 范围内;还要使得数据同质性,即所有特征的取值都应该在大致相同的范围内。常用方法有两种,一是将每个特征分别标准化,使其平均值为0,另外一种方法也可将将每个特征分别标准化,使其标准差为1。
3. 处理缺失值
对于神经网络,将缺失值设置为0是安全的,只要0不是一个有意义的值。网络能够从数据中学到0意味着缺失数据,并且会忽略这个值。
4. 特征工程
原创特征工程(feature engineering)是指将数据输入模型之前,利用你自己关于数据和机器学习算法(这里指神经网络)的知识对数据进行硬编码的变换(不是模型学到的),以改善模型的效果。其本质是用更简单的方式表述问题,从而使问题变得更容易。
更多详情可访问:QuesterAI (foxhub.cn)
最后
以上就是犹豫小笼包为你收集整理的输入神经网络前的数据准备的全部内容,希望文章能够帮你解决输入神经网络前的数据准备所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复