sure1ee 2019-04-19 17:12 采纳率: 0%
浏览 4862

深度学习做回归问题如何对数据集进行标准化,归一化?

问题描述

使用深度学习RNN模型预测目标轨迹。输入过去一段时间目标的运动轨迹预测未来某一时刻目标的位置。现在已有一些轨迹的数据,在训练之前应该如何对数据进行标准化/或者归一化呢?或者是不需要进行这个处理?(自己试了没有标准化数据时模型难以训练,使用的损失函数是mean_squared_error)

找的一些标准化/归一化方法

  1. zero-mean normalization

    x  = (x - μ ) / σ  # μ是样本均值,σ是样本方差
    

    很多文献和网上的例子使用这种方法,但是这个方法有个很严重的问题,公式中的μ , σ是更具已有的数据集计算得到的,实际运用中是想利用新测到的数据预测目标未来的位置,显然新测量到的数据无法使用原来的μ ,σ进行处理。

  2. Min-max normalization

    x = (x - min)/(max - min)  #min是样本最小值,max是样本最大值
    

    由于目标的位置,例如(x, y)未知,min和max无法确定,网友建议使用理论的最大值,最小值计算,但是这可能导致数据发布极不平衡,暂时没尝试过这种方法。

3.**atan函数转换**

x = atan(x) * 2 / π

这个方法可以把数据映射到[0,1]。使用这个方法遇到了两个个问题,使用反正切计算后得到的预测结果偏差很大(模型训练时损失在0.02以下),另一个问题是,由于模型有误差,当真实值接近1(标准化以后)时,模型预测可能超过1,这样计算反正切结果为负,所以放弃这种方法。

寻求的帮助

请问各位大佬,这类问题应该怎么对数据集进行预处理,网上找的很多方法,并没有很好的解决。

  • 写回答

1条回答 默认 最新

  • 麦菲壳 2021-03-24 15:38
    关注

    我的做法是使用Min-max归一化,记录模型训练使用的数据的最大值和最小值,训练过后进行预测时,使用训练时记录的最大值和最小值对预测结果进行反归一化。

    评论

报告相同问题?

悬赏问题

  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺