我正在尝试使用长度为441的输入向量和长度为3721的输出向量训练GP回归。
为解决此任务,我将GP回归与GPy中的共区域化内核一起使用。
我有X_train,Y_train-形状分别为(1600、442)和(1600、3721)的numpy数组(实际上X_train中的要素数量= 441,但又增加了一列有关任务编号的数据-这对于使用GPy共区域化模型进行预测时),形状(400,442)和(400,3721)的X_test,Y_test。
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进行预测时,结果仅为零向量。
我是GP插值的新手。
您能帮我了解问题所在吗?
预先谢谢你!