多种训练有素的模型与多种功能和一种模型

时间:2018-10-09 20:11:02

标签: tensorflow machine-learning

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

我正在尝试根据以下条件估算对象的预计到达时间

  • 与目标的距离
  • 与目标的距离(X分量)
  • 与目标的距离(Y分量)
  • 速度

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

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

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

我的困境是,如果我使用选项1,这会增加复杂性,但会更加精确,因为每种模型都将针对每个旅程。

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

有某种方法可以使用一个模型,并对功能进行分类,以便一个功能只是一个“分组”功能(以针对旅程分开训练数据。

2 个答案:

答案 0 :(得分:0)

在ML中,我认为选项2通常更好。我们更喜欢通用模型,而不是为特定任务定制许多模型,因为这样做很危险地接近硬编码,而这正是我们试图通过使用ML摆脱的硬编码!

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

  

0100000100

所示,前五个值对应于起点,而后五个值是目的地。如果您想将输入要素空间减少为:

,也可以将它们组合在一起。

  

01100

正如Scott在评论中所说的,还有其他事情要考虑:

  • 您有多少数据?我不确定这可能会使功能空间太大。如果您有足够的数据,则该模型将直观地了解数据点之间的一般距离(实际上不是,而是本质上在数据中)。 如果您有足够的数据,您甚至可以准确地预测没有数据的两点之间!
  • 如果确实归因于没有足够的数据,那么将使用旅程的代表性特征,即。路程的长度,路程的形状,行进的海拔高度等。另外,行进的距离的度量也可能有用。

祝你好运!

答案 1 :(得分:0)

我倾向于倾向于个别模型。这是因为,对于沿给定路线和给定速度的给定位置,ETA是时间的确定性函数。如果一个人沿路线单调地靠近目标,那也是到目标距离的确定性函数。因此,没有信息可以从一条路径传递到另一条路径,即“集总”其参数没有先验优势。当然,这是假设您沿每条路线有多个“行程”数据(例如,每分钟收集一次(距离,速度)等)。例如,如果每个路径只有一个基准,则必须对参数进行集中。但是,在这种数据量低的情况下,我相信为“哪条路线”添加一个虚拟变量最终将无济于事,因为这会引入许多与数据集大小相媲美的参数。

请注意,您所描述的模型中的任何一个都可以处理新路线。我倾向于为每个路线建立一个单独的模型,并在数据量允许的情况下建立一个单独的模型,而该模型完全忽略了路线标识,只是为了处理新路线,直到有足够的数据为该路线建立模型为止。