gpt4 book ai didi

python - 高斯过程回归——解释行为

转载 作者:行者123 更新时间:2023-12-05 06:56:57 26 4
gpt4 key购买 nike

我正在研究 GP 回归,但我遇到了一些我不理解的行为。基本上,我想展示 GP 在振荡 Genz 函数(基本上是一个周期波)上的收敛性,这让我看到了这张图片 Gp convergence, sorry for the missing labels (x axis: num samples, y axis: relative error measure in 2000 points)

没关系,但我很好奇为什么过了这么长时间错误才开始下降。绘制生成的 GP 拟合图我得到了这个(繁忙的)图 GP fit is orange, true function is blue .我不明白的是,在它开始捕捉真正的功能之前会发生什么。我认为它与内核有关。此处的绘图使用长度比例 = 1 的 RBF 内核(我也尝试了更高和更低的值,但得到了相同的结果)。

我有点希望它有更流畅的行为,即使它不能捕捉到真实的模型。所以,对于我的问题:为什么我会看到这种“尖峰”行为?我可以做些什么来改变它(内核方面或其他方面)吗?

kernel = RBF(length_scale = 1, length_scale_bounds = (1e-2, 1e2))
gp = GaussianProcessRegressor(kernel=kernel)
gp.fit(X, y)

def genz(x, method = 'default'):
d = x.shape[1]
a = 10/d
w = 1/2
num_points = x.shape[0]
funcval = np.empty([1,num_points])
for i in range(num_points):
funcval[0,i] = np.cos(2 * np.pi * w + np.sum(a * x[i,:]))
return funcval

最佳答案

与其域空间相比,优化后的长度尺度似乎非常小。我在挖掘这个图书馆的时候也觉得很奇怪;更改一些超参数和优化次数对我也不起作用。通过更改 gamma 值将内核函数更改为 matern 可能会有所帮助,但不是很多。如果你真的想随心所欲地定制,我可能会推荐你使用类似于 torch 实现的 gpytorch 或 GPML matlab 工具箱。

关于python - 高斯过程回归——解释行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65005878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com