高斯过程回归拟合核/超参数

时间:2019-02-24 12:36:36

标签: python scikit-learn gaussian hyperparameters

大家好。我有以下内容:

我正在使用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

0 个答案:

没有答案