我是机器学习的新手,我知道有一些参数和选择适用于您附加到某组输入的模型,可以调整/优化,但这些输入显然会与切片生成的字段相关联并以对您有意义的方式切割您拥有的任何源数据。但是,如果您决定建模和切割源数据并因此训练数据的方式不是最佳的呢?有没有方法或工具可以将机器学习的力量扩展到模型,而不仅仅是培训数据的创建方式?
假设您正在分析某人移动的加速度计,GPS,心率和周围地形数据。你想尝试确定这个人可能会疲惫不堪并停下来,假设他们将继续根据他们的轨迹直线移动,并且任何一个山坡上升都会增加他们必须停止的某个点。如果他们跑步或走路明显改变了这些事情。
因此,您可以剪切数据,并随意纠正您的操作方式,但与主要问题的关联性较低:
你明白了。你如何有效地确定A到H,其中一些会彻底改变模型输入的数量和行为?我想消除我可能对什么是正确的偏见,并让它确定端到端。这有实际的解决方案吗?每次更改数据创建参数时,返回,重新生成训练数据,将其输入模型,训练,调整,反复进行,直到获得最佳结果。
你所谓的偏见实际上是你拥有的最大优势。您可以包括您对系统的了解。机器学习,包括光荣的深度学习,说得直白,愚蠢。虽然它可以为您找出功能,但对这些功能的解释将很困难。
此外,特别是深度学习,具有记忆(不学习!)模式的能力,使得过度训练数据变得容易。使机器学习模型在现实世界中很好地概括是很困难的。
在大多数成功的方法(检查Master Kagglers)中,人们创造了特征。在你的情况下,我可能想要计算力的大小和向量。根据场景的类型,我可能会将(Lat,Long)变换为距特定点(例如,原点/激活点,或每1分钟建立一次)的距离,或者可能使用不同的坐标系。
由于你的时间序列数据,我可能会使用一些非常适合时间序列建模的东西,你可以理解和排除故障。在大多数情况下,CNN等通常是您的最后手段。
如果你真的想自动化,请检查,例如Auto Keras或ludwig。在学习哪些功能最重要时,我建议使用gradient boosting(GBDT)。
我建议阅读this article from AirBnB,深入探讨构建此类系统和特征工程的过程。