我对 MNIST 数字进行分类,并且我想多次对每个类的概率(不是潜在函数)进行采样。但是,gp.predict_y
仅给出一种情况的概率。
因此,我f_samples = gp.predict_f_samples
从底层潜在函数中返回了许多示例。
现在,如何f_samples
通过robust_max似然“挤压”?
我的 gp 代码:
kernel = gpflow.kernels.Matern52(input_dim=128, ARD=ARD, active_dims=np.arange(128))\
+ gpflow.kernels.White(input_dim=128, active_dims=np.arange(128))
# Robustmax Multiclass Likelihood
invlink = gpflow.likelihoods.RobustMax(10) # Robustmax inverse link function
likelihood = gpflow.likelihoods.MultiClass(10, invlink=invlink) # Multiclass likelihood
Z = x_train[::5].copy() # inducing inputs
gp = gpflow.models.SVGP(x_train, y_train, num_latent=10,
kern=kernel, Z=Z, likelihood=likelihood,
whiten=True, q_diag=True)
GPflow 版本:1.5.1