我有一辆可以控制为不同速度的汽车,我正在尝试使用 XGBoost 训练一个可以预测汽车随时间变化的速度的模型。
我对这个问题的第一次尝试是制作一个简单的模型,仅将命令速度作为输入并输出实际速度。但这种方法的问题是,如果我的训练数据包括对命令速度的更改,则汽车的缓慢响应时间(可能需要很多时间步才能达到命令速度)意味着机器学习模型无法仅根据命令的速度对逐渐的速度变化进行建模。
我的第二次尝试是将前一个时间步的汽车速度添加为机器学习模型的输入。在测试新模型时,我会将预测的速度及时作为下一个时间步的输入,但是模型最终为前一个时间步分配了太多的权重,并且模型实际上对命令的速度没有响应,并且相反,无论命令的速度如何,大多数情况下都会保持速度稳定。
我的实际情况比这更复杂,有几个其他输入变量,但这就是它的要点。
我的问题是,首先,如果我想训练一个模型来部分基于先前状态(先前的速度)和部分基于当前状态(命令速度)来预测下一个状态,这是正确的方法吗?其次,我能做些什么来减轻模型对先前状态的过度依赖?
如果您尝试进行预测并且模型说过去的数据很重要,那么过去的数据很重要。如果您不想过多依赖这些功能,您可以尝试转储这些功能并查看性能下降了多少,以便您可以在性能和过去的依赖关系之间进行权衡。
或者您是否正在尝试使用该模型来找到最大化您偏好的合适速度?这是另一种类型的问题。