高斯过程回归:标准差含义

时间:2019-04-24 13:10:38

标签: python machine-learning scikit-learn regression bayesian

在以下有关高斯过程回归(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 个答案:

答案 0 :(得分:0)

Gaussian Processes are Bayesian,因此拟合的回归导致可能参数上的分布。这样一来,人们就可以计算出预测性的分布,而不仅仅是点估计。设置参数return_std=True,将导致该方法返回与每个查询点关联的标准差。通过提供的证据(训练数据)的力量,这些为预测提供了理论界限。

当一个人不能完全执行这种分析计算时,通常使用交叉验证。高斯过程方法的主要优点是它们的易处理性。