我目前有很多数据将用于训练预测神经网络(美国各大机场的天数数据)。我几乎每天都有数据,但有些机场的数据缺失值。例如,一个机场可能在1995年之前就不存在了,所以我之前没有那个特定位置的数据。此外,有些人整年缺席(一个可能跨越1990年至2011年,2003年失踪)。
如果不误导我的神经网络,我可以做些什么来训练这些缺失值?我虽然用0或-1填充空数据,但我觉得这会导致网络预测某些输出的这些值。
答案 0 :(得分:1)
我不是专家,但这肯定取决于你拥有的神经网络的类型吗?
神经网络的全部意义在于它们可以处理丢失的信息等等。
我同意,用1和0设置空数据不是一件好事。
也许您可以提供一些关于神经网络的信息?
答案 1 :(得分:1)
我正在使用很多NN进行预测,我可以说你可以简单地在数据中留下“漏洞”。事实上,NN能够学习观察数据内部的关系,因此如果你没有特定的时间段则没关系...如果你将空数据设置为常数值,你将会给你的训练算法误导信息。 NN不需要“连续”数据,事实上,在训练之前对数据集进行洗牌是一种很好的做法,以便对不连续的样本进行反向传播......
答案 2 :(得分:0)
一种名为 autoencoder 的神经网络适合您的工作。自动编码器可用于重建输入。训练自动编码器以学习基础数据流形/分布。但是,它们主要用于信号重建任务,如图像和声音。但是,您可以使用它们来填充缺少的功能。
还有另一种技术被创造为“matrix-factorization”,用于许多推荐系统。人们使用矩阵分解技术来填充具有大量缺失值的巨大矩阵。例如,假设IMDb上有100万部电影。在她的一生中,几乎没有人观看过这部电影的1/10。但她投了一些电影。矩阵为N by M
,其中N
是用户数,M
是电影数量。矩阵分解是用于填充缺失值的技术之一,并根据用户之前对其他电影的投票向用户推荐电影。