У меня много сложностей при установке простого 2-мерного GP с помощью GPyTorch. Как вы можете видеть ниже, подгонка очень плохая и не сильно улучшается при замене ядра RBF на что-то вроде Matern. Оптимизация, похоже, сходится, но не на чем-то разумном.
class GPRegressionModel(gpytorch.models.ExactGP):
def __init__(self, train_x, train_y, likelihood):
super(GPRegressionModel, self).__init__(train_x, train_y, likelihood)
self.mean_module = gpytorch.means.ConstantMean()
self.covar_module = gpytorch.kernels.ScaleKernel(
gpytorch.kernels.RBFKernel(ard_num_dims=2),
)
def forward(self, x):
mean_x = self.mean_module(x)
covar_x = self.covar_module(x)
return gpytorch.distributions.MultivariateNormal(mean_x, covar_x)
Есть ли у кого-нибудь хорошие учебные примеры, помимо тех, которые включены в документы?