pymc.variational.operators.KL#
- class pymc.variational.operators.KL(approx, beta=1.0)[source]#
Operator based on Kullback Leibler Divergence.
This operator constructs Evidence Lower Bound (ELBO) objective
\[ELBO_\beta = \log p(D|\theta) - \beta KL(q||p)\]where
\[KL[q(v)||p(v)] = \int q(v)\log\frac{q(v)}{p(v)}dv\]- Parameters:
- approx: :class:`Approximation`
Approximation used for inference
- beta: float
Beta parameter for KL divergence, scales the regularization term.
Methods
KL.__init__(approx[, beta])KL.apply(f)Operator itself.
Attributes
Tdatalogpdatalogp_normhas_test_functioninputslogplogp_normlogqlogq_normmodelrequire_logqreturns_losssupports_aevbvarlogpvarlogp_norm