class_docstr: An approximate marginal log likelihood (typically a bound) for approximate GP models.
  We expect that model is a :obj:`gpytorch.models.ApproximateGP`.
  
  Args:
      likelihood (:obj:`gpytorch.likelihoods.Likelihood`):
          The likelihood for the model
      model (:obj:`gpytorch.models.ApproximateGP`):
          The approximate GP model
      num_data (int):
          The total number of training data points (necessary for SGD)
      beta (float - default 1.):
          A multiplicative factor for the KL divergence term.
          Setting it to 1 (default) recovers true variational inference
          (as derived in `Scalable Variational Gaussian Process Classification`_).
          Setting it to anything less than 1 reduces the regularization effect of the model
          (similarly to what was proposed in `the beta-VAE paper`_).
      combine_terms (bool):
          Whether or not to sum the expected NLL with the KL terms (default True)
code: def __init__(
      self, likelihood, model, num_data, beta=1.0, combine_terms=True
  ):
      super().__init__(likelihood, model)
      self.combine_terms = combine_terms
      self.num_data = num_data
      self.beta = beta
  
file_path: gpytorch/gpytorch/mlls/_approximate_mll.py
imports: from abc import ABC, abstractmethod
  import torch
  from .marginal_log_likelihood import MarginalLogLikelihood
label_desc: Use image node_id 1 to create a new _ApproximateMarginalLogLikelihood object from inherited base classes: MarginalLogLikelihood, ABC with example: obj = _ApproximateMarginalLogLikelihood(likelihood, model, num_data, beta, combine_terms)