高斯过程回归中的超参数调整


13

我正在尝试调整已实现的高斯过程回归算法的超参数。我只是想最大化由公式 ,其中K是与元素K_ {ij} = k(x_i,x_j)= b ^ {-1} \ exp(-\ frac {1} {2}(x_i-x_j)^ TM(x_i-x_j))+ a ^ {-1 } \ delta_ {ij}其中M = lI,a,bl是超参数。ķķĴ=ķXXĴ=b-1个EXP-1

日志ÿ|Xθ=-1个2ÿŤķÿ-1个ÿ-1个2日志tķ-ñ2日志2π
ķ中号=一个b
ķ一世Ĵ=ķX一世XĴ=b-1个经验值-1个2X一世-XĴŤ中号X一世-XĴ+一种-1个δ一世Ĵ
中号=一世一种b

对数边际似然率wrt参数的偏导数由以下

日志ÿ|Xθdθ=1个2Ť[R一种CËķ-1个dķdθ+1个2ÿdķdθķ-1个dķdθÿ

由于K的项ķ取决于参数,所以K的导数和逆数也取决于参数ķ。这意味着,当使用基于梯度的优化器时,在给定点(参数值)上评估梯度将需要重新计算协方差矩阵。在我的应用中,这是不可行的,因为从头开始计算协方差矩阵并在每次梯度上升迭代中计算其逆值都太昂贵了。我的问题是,找到这三个参数的较好组合是我的选择?而且我也不知道首先要优化哪个参数,对于这个问题,我也将不胜感激。


我已经成功地使用HMC为适度大小的数据集采样了GP超参数。
Sycorax说恢复莫妮卡

@Sycorax,您好,请您告诉我们您如何使用这项技术解决此问题?我遇到了与OP相同的问题,一直在考虑使用MCMC来解决它,但还不知道该怎么做。
Willian Fuks

我刚刚在Stan中编写了GP。GP超参数被声明为模型的参数,并据此进行推断。这为每个HMC迭代生成了一组预测。Gelman说明了这一切如何在BDA3中工作。
Sycorax说恢复莫妮卡

Answers:


6

没错,您需要在每次梯度上升迭代中进行新的协方差矩阵计算。因此,如果矩阵计算对您的设置不可行,那么我认为您不能使用基于梯度的边际似然优化。

我的建议是使用无梯度方法进行超参数调整,例如网格搜索,随机搜索或基于贝叶斯优化的搜索。这些方法广泛用于优化其他机器学习算法(例如SVM)的超参数。

我建议您先尝试使用网格搜索。您基本上形成了一个可能的超参数表(网格),尝试每个参数,然后寻找最佳的验证性能(或最佳的边际可能性)。

网格搜索会产生一组次优的超参数,您必须自己指定网格。(而且您不需要渐变!)

如果您不熟悉网格搜索,则可以查找Wikipedia:超参数优化-网格搜索

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.