首页 > 解决方案 > 多个训练模型 vs 多个特征和一个模型

问题描述

我正在尝试使用 tensorflow 构建基于回归的 M/L 模型。

我正在尝试根据以下内容估算对象的 ETA

该物体在特定的旅程中旅行。这可以表示为从 A->B 或从 A->C 或从 D->F (POINT 1 -> POINT 2)。有 500 个特定的旅程(在一组点之间)。这些旅程并不完全是直线,而且每条旅程都是不同的(即所走路线的形状)。

我有两种方法可以解决这个问题:

  1. 我可以拥有 500 个具有 4 个特征和一个标签的不同模型(训练 ETA 数据)。
  2. 我可以拥有 1 个具有 5 个功能和一个标签的模型。

我的困境是,如果我使用选项 1,这会增加复杂性,但会更准确,因为每个模型都特定于每个旅程。

如果我使用选项 2,模型将非常简单,但我不知道它是否能正常工作。我要添加的新功能是originCode + destinationCode。不幸的是,这些都无法量化以产生任何数字意义或模式 - 它们只是定义旅程的文本(旅程 A-> B,并且功能将是“AB”)。

有什么方法可以让我使用一个模型,并对特征进行分类,使一个特征只是一个“分组”特征(以便将训练数据与旅程分开。

标签: tensorflowmachine-learning

解决方案


在 ML 中,我相信选项 2通常是更好的选择。我们更喜欢通用模型,而不是为特定任务定制许多模型,因为这非常接近硬编码,而这正是我们试图通过使用 ML 来摆脱的!

我认为,根据您可用的训练数据和模型大小,可以使用 one-hot 向量来描述模型的起点/终点。例如,假设我们有 5 个点 (ABCDE),我们从位置 B 到位置 C,这可以用向量表示:

0100000100

例如,前五个值对应于起点,而后五个值对应于目的地。如果您想将输入特征空间减少到:也可以将这些组合起来:

01100

正如斯科特在评论中所说,还有其他事情需要考虑:

  • 你有多少数据?也许这样的特征空间会太大,我不能确定。如果您有足够的数据,那么模型将直观地学习数据点之间的一般距离(不是实际上,而是数据中的固有距离)。如果您有足够的数据,您甚至可以准确预测您没有数据的两点之间!
  • 如果归结为没有足够的数据,那么寻找旅程的代表性特征将开始使用,即。旅程的长度,旅程的形状,行进的海拔等。起点行进的距离的度量也是有用的。

祝你好运!


推荐阅读