高斯过程回归:标准差意义
Gaussian Process Regression: standard deviation meaning
在以下关于高斯过程回归 (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)
的"standard deviation"是什么意思?
例如,如果我将 GPR 与支持向量回归 (SVR) 进行比较,predict
方法中没有它。当我使用 SVR 算法时,我通常会从交叉验证中得到标准错误。
我在贝叶斯优化中使用它,这就是为什么我需要知道标准错误的来源。
Gaussian Processes are Bayesian 因此,拟合回归会导致可能参数的分布。然后,这允许人们计算预测 分布 而不是简单的点估计。设置参数 return_std=True
会导致该方法返回与每个查询点关联的标准差。根据提供的证据(训练数据)的强度,这些提供了预测的理论界限。
交叉验证通常用于无法准确执行此类分析计算的情况。高斯过程方法的主要优势在于它们的易处理性。
在以下关于高斯过程回归 (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)
的"standard deviation"是什么意思?
例如,如果我将 GPR 与支持向量回归 (SVR) 进行比较,predict
方法中没有它。当我使用 SVR 算法时,我通常会从交叉验证中得到标准错误。
我在贝叶斯优化中使用它,这就是为什么我需要知道标准错误的来源。
Gaussian Processes are Bayesian 因此,拟合回归会导致可能参数的分布。然后,这允许人们计算预测 分布 而不是简单的点估计。设置参数 return_std=True
会导致该方法返回与每个查询点关联的标准差。根据提供的证据(训练数据)的强度,这些提供了预测的理论界限。
交叉验证通常用于无法准确执行此类分析计算的情况。高斯过程方法的主要优势在于它们的易处理性。