35 #ifndef _DUALVARIATIONALGAUSSIANLIKELIHOOD_H_
36 #define _DUALVARIATIONALGAUSSIANLIKELIHOOD_H_
74 virtual const char*
get_name()
const {
return "DualVariationalGaussianLikelihood"; }
virtual SGVector< float64_t > get_first_derivative_wrt_hyperparameter(const TParameter *param) const
virtual void set_dual_parameters(SGVector< float64_t > the_lambda, const CLabels *lab)
virtual SGVector< float64_t > get_mu_dual_parameter() const =0
virtual ~CDualVariationalGaussianLikelihood()
virtual const char * get_name() const
The class Labels models labels, i.e. class assignments of objects.
virtual void precompute()
virtual bool dual_lower_bound_strict() const =0
The variational Gaussian Likelihood base class. The variational distribution is Gaussian.
virtual bool dual_parameters_valid() const
virtual SGVector< float64_t > get_dual_objective_value()=0
virtual float64_t get_dual_upper_bound() const =0
virtual float64_t adjust_step_wrt_dual_parameter(SGVector< float64_t > direction, const float64_t step) const
virtual bool set_variational_distribution(SGVector< float64_t > mu, SGVector< float64_t > s2, const CLabels *lab)
virtual SGVector< float64_t > get_variance_dual_parameter() const =0
virtual bool supports_derivative_wrt_hyperparameter() const
virtual SGVector< float64_t > get_dual_first_derivative(const TParameter *param) const =0
virtual void set_strict_scale(float64_t strict_scale)
virtual void set_noise_factor(float64_t noise_factor)
virtual SGVector< float64_t > get_variational_expection()
virtual CVariationalGaussianLikelihood * get_variational_likelihood() const
virtual float64_t get_dual_lower_bound() const =0
CDualVariationalGaussianLikelihood()
all of classes and functions are contained in the shogun namespace
SGVector< float64_t > m_lambda
virtual bool dual_upper_bound_strict() const =0
virtual SGVector< float64_t > get_variational_first_derivative(const TParameter *param) const
Class that models dual variational likelihood.