尚不完全清楚“显式权重”是什么意思,但是如果您的意思是 k(x,x') 的评估alpha = Kxx^{-1} y
在哪里并且是观察目标的向量,那么您可以使用 Posterior 对象来获得它(参见https ://github.com/GPflow/GPflow/blob/develop/gpflow/postteriors.py),您可以通过调用. 然后就可以访问了。Kxx
y
posterior = model.posterior()
posterior.alpha
Re 1.:但是,对于预测,您仍然需要能够计算Kzx
新测试点和训练点之间的协方差,因此您还需要提供训练位置和内核超参数。
这也意味着您不能依靠它来保密您的训练数据,因为第三方可以简单地计算Kxx
而不是Kzx
然后返回y = Kxx @ alpha
。您可以通过使用稀疏近似来避免共享精确的 (x,y) 训练集对(这至少会消除“个体可识别性”)。但我仍然不会依赖它来保护隐私。
Re 2.:后天体已经提供了更快的预测;如果您只要求full_cov=False
(边际方差,默认值),那么您在最坏的情况下比仅预测平均值慢约 3 倍左右(在实践中,我估计慢了不到 1.5 倍)。从 GPflow 2.3.0 开始,GPflow 中没有实现仅预测平均值。