склеарновое вычисление логарифмической вероятности гауссовского процесса положительно? - PullRequest
0 голосов
/ 18 февраля 2019

Я проверял реализацию sklearn логарифмической вероятности гауссовского процесса (GP).Реализация основана на алгоритме 2.1 в гауссовских процессах Расмуссена для машинного обучения , к которому я также приложил снимок для удобства:

enter image description here

Однако я постоянно сталкивался с некоторыми случаями, когда логарифмическая вероятность, вычисленная по этой формуле, является положительной.Одним конкретным примером является следующий пример кода:

import numpy as np 
from scipy.linalg import cholesky, cho_solve, solve_triangular
from sklearn.gaussian_process.kernels import Matern

kernel=Matern(nu=2.5)
x = np.array([1, 2, 3]).reshape(-1,1)
y = np.array([0.1, 0.2, 0.3])
noise=0
amp2=0.05 

K = kernel(x)

cov = amp2 * (K + 0*np.eye(x.shape[0])) 
cov[np.diag_indices_from(cov)] += noise
L = cholesky(cov, lower=True)
alpha = cho_solve((L, True), y)
logprob = -0.5 * np.dot(y, alpha) - np.log(np.diag(L)).sum() - \
      x.shape[0] / 2. * np.log(2 * np.pi)
print(logprob) # Result: 1.1359631938135135

Я считаю, что логическая предельная вероятность GP log Pr(y|x, M) всегда должна быть не положительной.Почему приведенный выше код дает положительное логическое предельное правдоподобие?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...