【发布时间】:2020-06-27 17:42:28
【问题描述】:
我也在GPflow GitHub上问过这个问题
我发现使用m.likelihood.variance.assign(0.01) 和m.kernel.lengthscales.assign(0.3) 对超参数的初始猜测对最终优化的超参数有显着影响。我想知道是否有一种方法可以得到一个好的初步猜测?例如,使用数据集进行估计。
【问题讨论】:
我也在GPflow GitHub上问过这个问题
我发现使用m.likelihood.variance.assign(0.01) 和m.kernel.lengthscales.assign(0.3) 对超参数的初始猜测对最终优化的超参数有显着影响。我想知道是否有一种方法可以得到一个好的初步猜测?例如,使用数据集进行估计。
【问题讨论】:
作为 GPflow GitHub 上的pointed out by Mark,这对于一般的 GP 来说是一个常见问题,无论实现如何(无论是在 GPflow 还是其他包中),draft article on Distill 对此进行了深入讨论。
【讨论】:
您可以尝试使用像 scipy.optimize.basinhopping() 这样的全局优化器,而不是典型的 scipy.optimize.minimize() 或 tf.optimizers.adam() 本地优化器。这至少会让你更有信心,不会陷入最近的局部最优。
【讨论】: