大家好。我有以下内容:
我正在使用Sklearn库中的GaussianProcessRegressor对象。 拟合模型后,我想使用预测对点进行采样,以更好地了解到目前为止的模型。但是现在我确实得到了一个问题,它只是假设除训练点之外的任何地方都为零。
我将Regressor的alpha值从最初的1e-5重置为默认值1e-10,将n_restarts_optimizer从9重置为默认值零,我的内核是具有几乎标准设置的Matern内核。现在,我确实获得了非零值,但是我不确定如何继续:
我有以下内容:
a = df_reduced.values[0:4, :]
print("a[0,0]: ", a[0,0])
gp.predict(a)
当然,这给了我一个不错的结果(因为它是合适的数据):
a[0,0]: 150.0
Out[47]:
array([[10.4 ],
[ 9.3 ],
[78.39990234],
[78.39990234]])
现在,我稍微更改第一个样本在其初始附近的第一个特征:
a = df_reduced.values[1:4, :]
a[0, 0] = 151
gp.predict(a)
array([[4.85703698e-254],
[7.83999023e+001],
[7.83999023e+001]])
,对于a [0,0] = 152
array([[ 0. ],
[78.39990234],
[78.39990234]])
。因此,似乎在大多数区域中,该函数只是零,这是一个问题,因为我想将此用于全局最小化的高斯超参数优化。会有人带头如何更好地优化吗?
顺便说一句,我正在使用16个功能,到目前为止已经适合30个样本,输出函数的取值在0到100之间。 参数如下(复制粘贴):
matern = C(1.0)*Matern(length_scale=1.0, nu=2.5)
gp = GaussianProcessRegressor(kernel=matern)
gp.fit(df_reduced.values, Y) # df_reduced.values, because meanwhile we have overwritten X_reduced
已经感谢任何潜在客户,
最诚挚的问候,
robTheBob86