训练神经网络时将“缺失”距离值设置为零

数据挖掘 机器学习 神经网络 深度学习 缺失数据 rnn
2022-01-29 23:56:43

不确定缺失值是否是此处使用的正确名称。我想根据传感器给出的数据训练 DNN。传感器给出已建立对象的 (x,y) 坐标。传感器一次可以跟踪多达 32 个物体。如果传感器找不到 32 个对象(总是如此),它将未找到对象的 x 和 y 坐标设置为零。在这种数据上训练神经网络会有问题吗?传感器设置在汽车上,对象是其他汽车,网络的工作是预测下一步行动。

另一个问题是,当传感器找到一个新对象时,已经存在/找到的对象可能会更改 id。有什么建议吗?我正在考虑随机排列对象的索引,因为这应该没有任何区别?

这类问题有标准解决方案吗?特别是将不存在的对象的距离设置为零。

1个回答

简短的回答是“这取决于”

零比一好还是无穷大?这取决于您使用的 xy 坐标范围。这也取决于你的输出。如果您从 (x,y) 变为 z = x^2,那么您将“null”置于局部最小值。因此,如果是汽车,我假设您使用的是前置摄像头。你真的想让你的算法看到一堆“汽车”聚集在原点吗?顺便问一下,你的出身是哪里?左上角(像大多数图像索引一样)?左下(像笛卡尔平面)?中心(如果是,x 和 y 的正方向是什么?)

至于重新索引,您可以做的是查看您的 32 个对象被索引的前一帧(或多帧),以及它们的位置和速度。然后,查看当前帧并将每个对象的位置与前一帧中的位置进行比较。为当前帧中的对象分配与前一帧中最接近它的对象相同的 id。你可以打破与速度的联系。

跟进您的评论:

神经网络可以以任意精度学习任意函数。最终。如果您希望 (0,0) 处的某些行为与 (0+ε,0+ε) 处的行为截然不同,那么您的网络将需要很长时间才能收敛。

我建议通过将空值转换为零,然后将其与其他技术进行比较,看看你会得到什么样的结果。也许用所有其他汽车的平均值替换 null,或者将它设置在您的自我汽车后面(由于汽车主要向前移动,您的网络可能不太重视自我汽车后面的汽车)。