Гауссова регрессия процесса: значение стандартного отклонения
В следующем коде о регрессии Гауссова процесса (GPR):
from sklearn.datasets import make_friedman2
from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel
X, y = make_friedman2(n_samples=500, noise=0, random_state=0)
kernel = DotProduct() + WhiteKernel()
gpr = GaussianProcessRegressor(kernel=kernel, random_state=0).fit(X, y)
print gpr.score(X, y)
print gpr.predict(X[:2,:], return_std=True)
Что означает "стандартное отклонение", полученное из: gpr.predict(X[:2,:], return_std=True)
?
Например, если я сравниваю GPR с регрессией опорных векторов (SVR), его нет в predict
метод. Когда я использую алгоритм SVR, я обычно получаю стандартную ошибку от перекрестной проверки.
Я использую его в Байесовской оптимизации, поэтому мне нужно знать источник стандартной ошибки.
1 ответ
Гауссовские процессы являются байесовскими, и поэтому подобранная регрессия приводит к распределению по возможным параметрам. Это позволяет вычислить прогнозирующее распределение, а не просто точечные оценки. Установка аргумента return_std=True
, приводит к тому, что метод возвращает стандартные отклонения, связанные с каждой точкой запроса. Они дают теоретические границы для прогнозов, основанных на силе доказательств (данных обучения).
Перекрестная проверка обычно используется, когда невозможно точно выполнить такие аналитические вычисления. Основным преимуществом методов Гауссовского процесса является их управляемость.