首页 > 解决方案 > 将机器学习应用于训练数据参数

问题描述

我是机器学习的新手,我知道有一些参数和选择适用于您附加到特定输入集的模型,这些输入可以调整/优化,但这些输入显然与您通过切片生成的字段相关联并以对有意义的方式切割您拥有的任何源数据。但是,如果您决定对源数据以及因此训练数据进行建模和分割的方式不是最优的怎么办?是否有方法或工具可以将机器学习的力量不仅扩展到模型,还包括最初创建训练数据的方式?

假设您正在分析某人移动的加速度计、GPS、心率和周围地形数据。你想尝试确定这个人可能会在哪里筋疲力尽并停下来,假设他们将根据他们的轨迹继续沿直线移动,并且上任何一座山都会增加心率到他们必须停下来的某个点。如果他们在跑步或走路,显然会改变这些东西。

所以你削减了你的数据,并随意纠正你如何做到这一点,但这与主要问题不太相关:

你明白了。您如何有效地确定AH,其中一些会完全改变模型输入的数量和行为?我想消除我对什么是正确的任何偏见,并让它决定端到端。有实际的解决方案吗?每次它更改数据创建的参数时,返回,重新生成训练数据,将其输入模型,训练它,调整它,一遍又一遍,直到你得到最好的结果。

标签: machine-learningdeep-learningdata-modeling

解决方案


你所谓的偏见实际上是你拥有的最大力量。您可以包括您对系统的了解。机器学习,包括光荣的深度学习,说白了是愚蠢的。尽管它可以为您找出特征,但解释这些特征将是困难的。

此外,尤其是深度学习,具有强大的记忆(而不是学习!)模式的能力,这使得过度拟合训练数据变得容易。制作在现实世界中泛化良好的机器学习模型非常困难。

在大多数成功的方法中(检查 Master Kagglers),人们创建功能。在您的情况下,我可能想计算力的大小和矢量。根据场景的类型,我可能会将 (Lat, Long) 转换为与特定点的距离(例如,原点/激活点,或每 1 分钟建立一次),或者可能使用不同的坐标系。

由于您的数据是时间序列,我可能会使用非常适合您可以理解和排除故障的时间序列建模的东西。在大多数情况下,CNN 等通常是您的最后手段。

如果您真的想自动化它,请检查Auto Keras或ludwig。在学习哪些功能最重要时,我建议使用梯度提升(GBDT)。

我建议阅读AirBnB 的这篇文章,该文章更深入地了解构建此类系统和特征工程的过程。


推荐阅读