Интерполяция с регрессией гауссовского процесса - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь обучить регрессию GP с помощью входных векторов длины 441 и выходных векторов длины 3721.

Для решения этой задачи я использовал регрессию GP с ядром, сформированным из GPy.

Iиметь X_train, Y_train - числовые массивы формы (1600, 442) и (1600, 3721) соответственно (на самом деле количество объектов в X_train = 441, но добавлен еще один столбец для данных о номере задачи - он необходим для прогнозирования при использованииМодели корейской ориентации GPy), X_test, Y_test of shape (400, 442) и (400, 3721).

num_tasks = 40
num_obs, num_feats = X_train.shape
num_feats -= 1
kern = GPy.kern.RBF(num_feats) ** GPy.kern.Coregionalize(input_dim=1, output_dim=num_tasks)

m0 = GPy.models.GPRegression(X_train, Y_train, kern)
m0.optimize()
preds, _ = m0.predict(X_test)

Проблема в том, что «preds» - это абсолютно нулевой вектор, который не имеет смысла, но я могу »Не могу найти ошибку в коде.
Я также пытался делать предсказания на X_train, и он давал мне ненулевые предсказания, близкие к Y_train, но когда я пытаюсь предсказать на X_test, результатом является просто нулевой вектор.
IЯ новичок в интерполяции с GP.Не могли бы вы помочь мне понять, в чем проблема?Заранее спасибо!

...