0

首先,我想描述一下我想要实现的目标:我的输入 X 由 2 个值组成,输出 Y 由 2 个不同长度的列表组成:

list_1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 4, 4, 8, 10, 11, 11, 11, 14, 14, 15, 15, 20, 20, 22, 22, 22, 22, 22, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 20, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 22, 22, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
list_2 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 20, 20, 25, 25, 32, 33, 33, 33, 33, 33, 27, 27, 7, 7, 7, 7, 15, 15, 15, 22, 22, 22, 27, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 

X= [-28,32] 
Y= [list_1,list_2] 

在大多数情况下,回归问题将输入 x 映射到单个输出 y。但是在我的情况下,我需要将输入 x 映射到时间序列 y。我正在尝试使用 gpflow 在 python 中实现这一点。想听听大家的意见,这个案例选择GPR是否合适,如果有人做过类似的工作,可以介绍一下吗?

4

1 回答 1

0

我认为您不能以您制定问题的方式直接将普通 GP 应用于您的问题。

GP 为您提供可能函数的分布,以来自一个随机函数的样本为条件。如果我正确理解了您的设置,您将拥有一组函数(时间序列),并且希望在以 X 为条件([-28, 32])时了解这些函数的基本动态。

让我们重新构建您的问题设置:

list_1 = [....]
list_2 = [....]
...

k = [-28, 32, ...]

X1 = np.arange(0, len(list_1))
Y1 = list_1

X2 = np.arange(0, len(list_2))
Y2 = list_2
...

在 GP 的框架中,我会说你想学习一个依赖于你的 k 的内核。然后,给定内核,您有一个标准 GP,其中xs 是时间索引,而y=f(x)+noise是时间序列值。对于每个 k 你有一些训练数据作为条件(例如(X1, Y1)),并且想要预测其他时间点的值 f(x)(可能在你的 x 之间,或者在未来进行预测)。

所以你可以做的是尝试像 DeepKernel 这样的东西,其中神经网络(或其他一些函数)预测给定 k 的内核(参见示例 [1])。您可以通过最大化 gpflow 中训练数据的边际可能性来训练它。可能还有其他一些数据效率更高的方法来学习内核,但您必须对其进行研究。

或者,我最近看到了一些关于所谓“神经过程”的论文,它们具有类似的设置:https ://github.com/deepmind/neural-processes 这里的随机过程是专门用神经网络预测的,而不是全科医生。

但是请注意,这两种方法可能都需要相当多的数据。

[1] 卡兰德拉、罗伯托等人。“用于回归的流形高斯过程。” 2016 年神经网络国际联合会议 (IJCNN)。IEEE,2016。https ://arxiv.org/abs/1402.5876

于 2020-04-30T10:48:23.150 回答