Get positive number when computing the variational expectations. #1691
shixinxing
started this conversation in
General
Replies: 1 comment 1 reply
-
What's the reason that this term would have to be negative? p(y | f) is a density, not a probability, so it'd be possible for it to be larger than 1, and hence for log p(y | f) to be larger than zero. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I use gpflow.likelihood.variational_expectations to compute one of my ELBO terms: Eq(f)[log(p(y|f))].
Specifically,
Here is the source code for Gaussian likelihood:
theoretically, the above term should be always negative, no matter how to choose these parameters like Fmu, Fvar and variance.
However, I find this term sometimes goes to positive when the variance is set to a relative small number (about 0.003, but not too small).
For example, set Fmu=Y, Fvar=0.001, I plot the results when variance is between 0.001 and 0.2:
It seems that the term -0.5 * tf.math.log(variance) is too positive or to refer to some problem for numerical stability...
Is there any solution to fix this ?
Or is this just a common phenomenon...?
Beta Was this translation helpful? Give feedback.
All reactions