SHOGUN
6.1.3

This class implements the quadratic time Maximum Mean Statistic as described in [1]. The MMD is the distance of two probability distributions \(p\) and \(q\) in a RKHS which we denote by
\[ \hat{\eta_k}=\text{MMD}[\mathcal{F},p,q]^2=\textbf{E}_{x,x'} \left[ k(x,x')\right]2\textbf{E}_{x,y}\left[ k(x,y)\right] +\textbf{E}_{y,y'}\left[ k(y,y')\right]=\mu_p  \mu_q^2_\mathcal{F} \]
.
Estimating variance of the asymptotic distribution of the statistic under null and alternative hypothesis can be done using compute_variance_h0() and compute_variance_h1() method.
Note that all these operations can be done for multiple kernels at once as well. To use this functionality, use multikernel() method to obtain a CMultiKernelQuadraticTimeMMD instance and then call methods on that.
If you do not know about your data, but want to use the MMD from a kernel matrix, just use the custom kernel constructor and initialize the features as CDummyFeatures. Everything else will work as usual.
To make the computation faster, this class always precomputes the kernel and stores the Gram matrix using merged samples from p and q. It essentially keeps a backup of the old kernel and rather uses this precomputed one as long as the present kernel is valid. Therefore, after a computation phase is executed, upon calling get_kernel() we will obtain the precomputed kernel matrix as a CCustomKernel object. However, if subsequently the features are updated or the underlying kernel itself is updated, it discards the precomputed kernel matrix (frees memory) and pulls the old kernel from backup (or, simply replace that if a new kernel is provided) and then precomputes that in the next run.
It is possible to turn off the above feature by turning it off. However, it will affect the performance of the algorithms, since they are optimzied for precomputed kernel matrices. Therefore, this should only be turned off if the storage of the kernel is a major concern. Please note that only the lower triangular part of the Gram matrix is stored, in order to exploit the symmetry.
Since the methods modifies the object's state, using the methods of this class from multiple threads may result in undesired/incorrect results/behavior.
NOTE: \(n_x\) and \(n_y\) are represented by \(m\) and \(n\), respectively in the implementation.
[1]: Gretton, A., Borgwardt, K. M., Rasch, M. J., Schoelkopf, B., & Smola, A. (2012). A Kernel TwoSample Test. Journal of Machine Learning Research, 13, 671721.
[2]: Gretton, A., Fukumizu, K., & Harchaoui, Z. (2011). A fast, consistent kernel twosample test.
Definition at line 97 of file QuadraticTimeMMD.h.
Classes  
struct  Self 
Public Types  
typedef rxcpp::subjects::subject< ObservedValue >  SGSubject 
typedef rxcpp::observable< ObservedValue, rxcpp::dynamic_observable< ObservedValue > >  SGObservable 
typedef rxcpp::subscriber< ObservedValue, rxcpp::observer< ObservedValue, void, void, void, void > >  SGSubscriber 
Public Member Functions  
CQuadraticTimeMMD ()  
CQuadraticTimeMMD (CFeatures *samples_from_p, CFeatures *samples_from_q)  
virtual  ~CQuadraticTimeMMD () 
virtual void  set_p (CFeatures *samples_from_p) 
virtual void  set_q (CFeatures *samples_from_q) 
CFeatures *  get_p_and_q () 
virtual void  set_kernel (CKernel *kernel) 
virtual void  select_kernel () 
virtual float64_t  compute_statistic () 
virtual SGVector< float64_t >  sample_null () 
virtual float64_t  compute_p_value (float64_t statistic) 
virtual float64_t  compute_threshold (float64_t alpha) 
float64_t  compute_variance_h0 () 
float64_t  compute_variance_h1 () 
CMultiKernelQuadraticTimeMMD *  multikernel () 
void  spectrum_set_num_eigenvalues (index_t num_eigenvalues) 
index_t  spectrum_get_num_eigenvalues () const 
void  precompute_kernel_matrix (bool precompute) 
void  save_permutation_inds (bool save_inds) 
SGMatrix< index_t >  get_permutation_inds () const 
virtual const char *  get_name () const 
void  set_kernel_selection_strategy (EKernelSelectionMethod method, bool weighted=false) 
void  set_kernel_selection_strategy (EKernelSelectionMethod method, index_t num_runs, index_t num_folds, float64_t alpha) 
void  add_kernel (CKernel *kernel) 
CKernelSelectionStrategy const *  get_kernel_selection_strategy () const 
void  cleanup () 
void  set_num_null_samples (index_t null_samples) 
index_t  get_num_null_samples () const 
void  set_statistic_type (EStatisticType stype) 
EStatisticType  get_statistic_type () const 
void  set_null_approximation_method (ENullApproximationMethod nmethod) 
ENullApproximationMethod  get_null_approximation_method () const 
CKernel *  get_kernel () const 
CFeatures *  get_p () const 
CFeatures *  get_q () const 
void  set_num_samples_p (index_t num_samples_from_p) 
const index_t  get_num_samples_p () const 
void  set_num_samples_q (index_t num_samples_from_q) 
const index_t  get_num_samples_q () const 
CCustomDistance *  compute_distance (CDistance *distance) 
CCustomDistance *  compute_joint_distance (CDistance *distance) 
void  set_train_test_mode (bool on) 
void  set_train_test_ratio (float64_t ratio) 
bool  perform_test (float64_t alpha) 
int32_t  ref () 
int32_t  ref_count () 
int32_t  unref () 
virtual CSGObject *  shallow_copy () const 
virtual CSGObject *  deep_copy () const 
virtual bool  is_generic (EPrimitiveType *generic) const 
template<class T >  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
template<>  
void  set_generic () 
void  unset_generic () 
virtual void  print_serializable (const char *prefix="") 
virtual bool  save_serializable (CSerializableFile *file, const char *prefix="") 
virtual bool  load_serializable (CSerializableFile *file, const char *prefix="") 
void  set_global_io (SGIO *io) 
SGIO *  get_global_io () 
void  set_global_parallel (Parallel *parallel) 
Parallel *  get_global_parallel () 
void  set_global_version (Version *version) 
Version *  get_global_version () 
SGStringList< char >  get_modelsel_names () 
void  print_modsel_params () 
char *  get_modsel_param_descr (const char *param_name) 
index_t  get_modsel_param_index (const char *param_name) 
void  build_gradient_parameter_dictionary (CMap< TParameter *, CSGObject * > *dict) 
bool  has (const std::string &name) const 
template<typename T >  
bool  has (const Tag< T > &tag) const 
template<typename T , typename U = void>  
bool  has (const std::string &name) const 
template<typename T >  
void  set (const Tag< T > &_tag, const T &value) 
template<typename T , typename U = void>  
void  set (const std::string &name, const T &value) 
template<typename T >  
T  get (const Tag< T > &_tag) const 
template<typename T , typename U = void>  
T  get (const std::string &name) const 
SGObservable *  get_parameters_observable () 
void  subscribe_to_parameters (ParameterObserverInterface *obs) 
void  list_observable_parameters () 
virtual void  update_parameter_hash () 
virtual bool  parameter_hash_changed () 
virtual bool  equals (CSGObject *other, float64_t accuracy=0.0, bool tolerant=false) 
virtual CSGObject *  clone () 
Public Attributes  
SGIO *  io 
Parallel *  parallel 
Version *  version 
Parameter *  m_parameters 
Parameter *  m_model_selection_parameters 
Parameter *  m_gradient_parameters 
uint32_t  m_hash 
Protected Member Functions  
virtual float64_t  normalize_statistic (float64_t statistic) const 
internal::KernelManager &  get_kernel_mgr () 
const internal::KernelManager &  get_kernel_mgr () const 
internal::DataManager &  get_data_mgr () 
const internal::DataManager &  get_data_mgr () const 
virtual void  load_serializable_pre () throw (ShogunException) 
virtual void  load_serializable_post () throw (ShogunException) 
virtual void  save_serializable_pre () throw (ShogunException) 
virtual void  save_serializable_post () throw (ShogunException) 
template<typename T >  
void  register_param (Tag< T > &_tag, const T &value) 
template<typename T >  
void  register_param (const std::string &name, const T &value) 
bool  clone_parameters (CSGObject *other) 
void  observe (const ObservedValue value) 
void  register_observable_param (const std::string &name, const SG_OBS_VALUE_TYPE type, const std::string &description) 
Friends  
class  CMultiKernelQuadraticTimeMMD 

inherited 
Definition at line 130 of file SGObject.h.

inherited 
Definition at line 127 of file SGObject.h.

inherited 
Definition at line 133 of file SGObject.h.
Default constructor
Definition at line 181 of file QuadraticTimeMMD.cpp.
CQuadraticTimeMMD  (  CFeatures *  samples_from_p, 
CFeatures *  samples_from_q  
) 
Convenience constructor. Initializes the features representing samples from both the distributions.
samples_from_p  Samples from p. 
samples_from_q  Samples from q. 
Definition at line 186 of file QuadraticTimeMMD.cpp.

virtual 
Destructor
Definition at line 197 of file QuadraticTimeMMD.cpp.

inherited 
Method that adds a kernel instance to be used for kernel selection. Please note that the kernels added by this method are NOT set as the main test kernel unless select_kernel() method is executed.
This method is NOT thread safe. Please DO NOT use this method from multiple threads.
kernel  One of the kernel instances with which learning algorithm will work. 

inherited 
Builds a dictionary of all parameters in SGObject as well of those of SGObjects that are parameters of this object. Dictionary maps parameters to the objects that own them.
dict  dictionary of parameters to be built. 
Definition at line 635 of file SGObject.cpp.

inherited 

virtualinherited 
Creates a clone of the current object. This is done via recursively traversing all parameters, which corresponds to a deep copy. Calling equals on the cloned object always returns true although none of the memory of both objects overlaps.
Reimplemented in CDynamicArray< T >, CDynamicArray< float64_t >, CDynamicArray< float32_t >, CDynamicArray< int32_t >, CDynamicArray< char >, CDynamicArray< bool >, CDynamicObjectArray, CAlphabet, and CMKL.
Definition at line 734 of file SGObject.cpp.

protectedinherited 
Definition at line 759 of file SGObject.cpp.

inherited 
Method that precomputes the pairwise distance between the samples using the provided distance instance.
distance  The distance instance used for precomputing the pairwise distance. 
Definition at line 99 of file TwoDistributionTest.cpp.

inherited 
Method that precomputes the pairwise distance between the joint samples using the provided distance instance. A temporary object appending the samples from both the distributions is created in order to perform the task.
distance  The distance instance used for precomputing the pairwise distance. 
Definition at line 128 of file TwoDistributionTest.cpp.
Method that computes the pvalue from the provided statistic.
statistic  The test statistic 
Reimplemented from CHypothesisTest.
Definition at line 532 of file QuadraticTimeMMD.cpp.

virtual 
Method that computes the estimator of MMD^2 (biased/unbiased/incomplete) as set from set_statistic_type() method. Default is unbiased.
Implements CMMD.
Definition at line 312 of file QuadraticTimeMMD.cpp.
Method that computes the threshold from the provided significance level (alpha).
alpha  The significance level (value should be between 0 and 1) 
Reimplemented from CHypothesisTest.
Definition at line 551 of file QuadraticTimeMMD.cpp.
float64_t compute_variance_h0  (  ) 
Method that computes an estimate of the variance of the unbiased MMD^2 estimator under the assumption that the null hypothesis was true.
Definition at line 499 of file QuadraticTimeMMD.cpp.
float64_t compute_variance_h1  (  ) 
Method that computes an estimate of the variance of the unbiased MMD^2 estimator under the assumption that the alternative hypothesis was true.
Definition at line 510 of file QuadraticTimeMMD.cpp.

virtualinherited 
A deep copy. All the instance variables will also be copied.
Definition at line 232 of file SGObject.cpp.
Recursively compares the current SGObject to another one. Compares all registered numerical parameters, recursion upon complex (SGObject) parameters. Does not compare pointers!
May be overwritten but please do with care! Should not be necessary in most cases.
other  object to compare with 
accuracy  accuracy to use for comparison (optional) 
tolerant  allows linient check on float equality (within accuracy) 
Definition at line 656 of file SGObject.cpp.

inherited 
Getter for a class parameter, identified by a Tag. Throws an exception if the class does not have such a parameter.
_tag  name and type information of parameter 
Definition at line 381 of file SGObject.h.

inherited 
Getter for a class parameter, identified by a name. Throws an exception if the class does not have such a parameter.
name  name of the parameter 
Definition at line 404 of file SGObject.h.

protectedinherited 
Definition at line 104 of file HypothesisTest.cpp.

protectedinherited 
Definition at line 109 of file HypothesisTest.cpp.

inherited 

inherited 

inherited 

inherited 
Definition at line 73 of file TwoSampleTest.cpp.

protectedinherited 
Definition at line 83 of file TwoSampleTest.cpp.

protectedinherited 
Definition at line 88 of file TwoSampleTest.cpp.

inherited 
Method that returns the kernel selection strategy wrapper object that will be/ was used in the last kernel learning algorithm. Use this method when results of intermediate steps taken by the kernel selection algorithms are of interest.

inherited 
Definition at line 536 of file SGObject.cpp.

inherited 
Returns description of a given parameter string, if it exists. SG_ERROR otherwise
param_name  name of the parameter 
Definition at line 560 of file SGObject.cpp.

inherited 
Returns index of model selection parameter with provided index
param_name  name of model selection parameter 
Definition at line 573 of file SGObject.cpp.

virtual 
Reimplemented from CMMD.
Definition at line 631 of file QuadraticTimeMMD.cpp.

inherited 

inherited 

inherited 
Definition at line 81 of file TwoDistributionTest.cpp.

inherited 
Definition at line 93 of file TwoDistributionTest.cpp.

inherited 
Definition at line 56 of file TwoDistributionTest.cpp.
CFeatures * get_p_and_q  (  ) 
Method that creates a merged copy of CFeatures instance from both the features, appending the samples from p and q. This method does not cache the merged copy from previous call. So, calling this method will create a new instance every time.
Definition at line 246 of file QuadraticTimeMMD.cpp.

inherited 
Method that returns the permutation indices, if that option was turned on by using the save_permutation_inds(true).
Definition at line 626 of file QuadraticTimeMMD.cpp.

inherited 
Definition at line 69 of file TwoDistributionTest.cpp.

inherited 

inherited 
Checks if object has a class parameter identified by a name.
name  name of the parameter 
Definition at line 304 of file SGObject.h.

inherited 
Checks if object has a class parameter identified by a Tag.
tag  tag of the parameter containing name and type information 
Definition at line 315 of file SGObject.h.

inherited 
Checks if a type exists for a class parameter identified by a name.
name  name of the parameter 
Definition at line 326 of file SGObject.h.

virtualinherited 
If the SGSerializable is a class template then TRUE will be returned and GENERIC is set to the type of the generic.
generic  set to the type of the generic if returning TRUE 
Definition at line 330 of file SGObject.cpp.

inherited 
Print to stdout a list of observable parameters
Definition at line 878 of file SGObject.cpp.

virtualinherited 
Load this object from file. If it will fail (returning FALSE) then this object will contain inconsistent data and should not be used!
file  where to load from 
prefix  prefix for members 
Definition at line 403 of file SGObject.cpp.

protectedvirtualinherited 
Can (optionally) be overridden to postinitialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::LOAD_SERIALIZABLE_POST is called.
ShogunException  will be thrown if an error occurs. 
Reimplemented in CKernel, CWeightedDegreePositionStringKernel, CList, CAlphabet, CLinearHMM, CGaussianKernel, CInverseMultiQuadricKernel, CCircularKernel, and CExponentialKernel.
Definition at line 460 of file SGObject.cpp.

protectedvirtualinherited 
Can (optionally) be overridden to preinitialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::LOAD_SERIALIZABLE_PRE is called.
ShogunException  will be thrown if an error occurs. 
Reimplemented in CDynamicArray< T >, CDynamicArray< float64_t >, CDynamicArray< float32_t >, CDynamicArray< int32_t >, CDynamicArray< char >, CDynamicArray< bool >, and CDynamicObjectArray.
Definition at line 455 of file SGObject.cpp.
CMultiKernelQuadraticTimeMMD * multikernel  (  ) 
Method that returns the internal instance of CMultiKernelQuadraticTimeMMD which provides a similar API to this class to compute the estimates for multiple kernel all at once. This internal instance shares the same set of samples with this one but the kernel has to be added seperately using multikernel().add_kernel() method.
Definition at line 587 of file QuadraticTimeMMD.cpp.
Implements CMMD.
Definition at line 304 of file QuadraticTimeMMD.cpp.

protectedinherited 
Observe a parameter value and emit them to observer.
value  Observed parameter's value 
Definition at line 828 of file SGObject.cpp.

virtualinherited 
Definition at line 296 of file SGObject.cpp.

inherited 
Method that performs the complete hypothesis test on current data and returns a binary answer: wheter null hypothesis is rejected or not.
This is just a wrapper for the above compute_p_value() method that returns a pvalue. If this pvalue lies below the test level alpha, the null hypothesis is rejected.
Should not be overwritten in subclasses. (Therefore not virtual)
alpha  test level alpha. 
Definition at line 92 of file HypothesisTest.cpp.
void precompute_kernel_matrix  (  bool  precompute  ) 
Use this method when precomputation of the kernel matrix is NOT desired. By default this class always precomputes the Gram matrix. Please note that the performance will be slow if this option is turned off.
precompute  Flag to whether precompute the kernel matrix internally or not. If false, the kernel matrix is NOT precomputed, otherwise it is. Default is true. 
Definition at line 602 of file QuadraticTimeMMD.cpp.

inherited 
prints all parameter registered for model selection and their type
Definition at line 512 of file SGObject.cpp.

virtualinherited 
prints registered parameters out
prefix  prefix for members 
Definition at line 342 of file SGObject.cpp.

inherited 

inherited 

protectedinherited 
Register which params this object can emit.
name  the param name 
type  the param type 
description  a user oriented description 
Definition at line 871 of file SGObject.cpp.

protectedinherited 
Registers a class parameter which is identified by a tag. This enables the parameter to be modified by set() and retrieved by get(). Parameters can be registered in the constructor of the class.
_tag  name and type information of parameter 
value  value of the parameter 
Definition at line 472 of file SGObject.h.

protectedinherited 
Registers a class parameter which is identified by a name. This enables the parameter to be modified by set() and retrieved by get(). Parameters can be registered in the constructor of the class.
name  name of the parameter 
value  value of the parameter along with type information 
Definition at line 485 of file SGObject.h.
Method that returns a number of nullsamples, based on the null approximation method that was set using set_null_approximation_method(). Default is permutation.
Implements CMMD.
Definition at line 570 of file QuadraticTimeMMD.cpp.
void save_permutation_inds  (  bool  save_inds  ) 
Method that saves the permutation indices that will be used while sampling from the null distribution in case permutation approach was adopted. The indices will be available only after a successful run of the permutation test. By default, the indices are never saved.
save_inds  Whether to save the permutation indices or not. If true, the indices are saved, otherwise not. 
Definition at line 621 of file QuadraticTimeMMD.cpp.

virtualinherited 
Save this object to file.
file  where to save the object; will be closed during returning if PREFIX is an empty string. 
prefix  prefix for members 
Definition at line 348 of file SGObject.cpp.

protectedvirtualinherited 
Can (optionally) be overridden to postinitialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::SAVE_SERIALIZABLE_POST is called.
ShogunException  will be thrown if an error occurs. 
Reimplemented in CKernel.
Definition at line 470 of file SGObject.cpp.

protectedvirtualinherited 
Can (optionally) be overridden to preinitialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::SAVE_SERIALIZABLE_PRE is called.
ShogunException  will be thrown if an error occurs. 
Reimplemented in CKernel, CDynamicArray< T >, CDynamicArray< float64_t >, CDynamicArray< float32_t >, CDynamicArray< int32_t >, CDynamicArray< char >, CDynamicArray< bool >, and CDynamicObjectArray.
Definition at line 465 of file SGObject.cpp.

virtual 
Method that learns/selects the kernel from a set of provided kernel instances added from the add_kernel() methods. Upon selection, it internally replaces the kernel instance, if any, that was already present.
Please make sure to set the traintest mode on before using this method.
Reimplemented from CMMD.
Definition at line 290 of file QuadraticTimeMMD.cpp.

inherited 
Setter for a class parameter, identified by a Tag. Throws an exception if the class does not have such a parameter.
_tag  name and type information of parameter 
value  value of the parameter 
Definition at line 342 of file SGObject.h.

inherited 
Setter for a class parameter, identified by a name. Throws an exception if the class does not have such a parameter.
name  name of the parameter 
value  value of the parameter along with type information 
Definition at line 368 of file SGObject.h.

inherited 
Definition at line 73 of file SGObject.cpp.

inherited 
Definition at line 78 of file SGObject.cpp.

inherited 
Definition at line 83 of file SGObject.cpp.

inherited 
Definition at line 88 of file SGObject.cpp.

inherited 
Definition at line 93 of file SGObject.cpp.

inherited 
Definition at line 98 of file SGObject.cpp.

inherited 
Definition at line 103 of file SGObject.cpp.

inherited 
Definition at line 108 of file SGObject.cpp.

inherited 
Definition at line 113 of file SGObject.cpp.

inherited 
Definition at line 118 of file SGObject.cpp.

inherited 
Definition at line 123 of file SGObject.cpp.

inherited 
Definition at line 128 of file SGObject.cpp.

inherited 
Definition at line 133 of file SGObject.cpp.

inherited 
Definition at line 138 of file SGObject.cpp.

inherited 
Definition at line 143 of file SGObject.cpp.

inherited 
set generic type to T

inherited 

inherited 
set the parallel object
parallel  parallel object to use 
Definition at line 275 of file SGObject.cpp.

inherited 
set the version object
version  version object to use 
Definition at line 317 of file SGObject.cpp.

virtual 
Method that sets the kernel instance to be used. If a CCustomKernel is set, then the features passed would be effectively ignored. Therefore, if this is the intended behavior, simply passing two instances of CDummyFeatures would do (since they cannot be left null as of now).
If a precomputed instance already exists from previous runs, this will invalidate that one and free memory.
kernel  The kernel instance. 
Reimplemented from CTwoSampleTest.
Definition at line 270 of file QuadraticTimeMMD.cpp.

inherited 
Method that sets the specific kernel selection strategy based on the specific parameters provided. Please see class documentation for details. Use this method for every other strategy other than KSM_CROSS_VALIDATION.
method  The kernel selection method as specified in EKernelSelectionMethod. 
weighted  If true, then an weighted combination of the kernel is used after solving an optimization. If false, only a single kernel is selected among the provided ones. 

inherited 
Method that sets the specific kernel selection strategy based on the specific parameters provided. Please see class documentation for details. Use this method for KSM_CROSS_VALIDATION.
method  The kernel selection method as specified in EKernelSelectionMethod. 
num_runs  The number of total runs of the crossvalidation algorithm. 
num_folds  The number of folds (k) to be used in kfold stratified crossvalidation. 
alpha  The threshold to be used while performing test for the testfolds. 

inherited 

inherited 

inherited 
Method that initializes the number of samples to be drawn from distribution \(\mathbf{P}\). Please ensure to call this method if you are intending to use streaming data generators that generate the samples on the fly. For other types of features, the number of samples is set internally from the features object itself, therefore this method should not be used.
num_samples_from_p  The CFeatures instance representing the samples from \(\mathbf{P}\). 
Definition at line 75 of file TwoDistributionTest.cpp.

inherited 
Method that initializes the number of samples to be drawn from distribution \(\mathbf{Q}\). Please ensure to call this method if you are intending to use streaming data generators that generate the samples on the fly. For other types of features, the number of samples is set internally from the features object itself, therefore this method should not be used.
num_samples_from_q  The CFeatures instance representing the samples from \(\mathbf{Q}\). 
Definition at line 87 of file TwoDistributionTest.cpp.

virtual 
Method that initializes/replaces samples from p. It will invalidate existing precomputed kernel, if any, from previous run. However, if the underlying kernel, if set already by this point, is an instance of CCustomKernel itself, the supplied features will be ignored.
samples_from_p  Samples from p. 
Reimplemented from CTwoDistributionTest.
Definition at line 202 of file QuadraticTimeMMD.cpp.

virtual 
Method that initializes/replaces samples from q. It will invalidate existing precomputed kernel, if any, from previous run. However, if the underlying kernel, if set already by this point, is an instance of CCustomKernel itself, the supplied features will be ignored.
samples_from_p  Samples from q. 
Reimplemented from CTwoDistributionTest.
Definition at line 224 of file QuadraticTimeMMD.cpp.

inherited 

inherited 
Method that enables/disables the trainingtesting mode. If this option is turned on, then the samples would be split in two pieces: one chunk would be used for training algorithms and the other chunk would be used for performing tests. If this option is turned off, the entire data would be used for performing the test. Before running any training algorithms, make sure to turn this mode on.
By default, the trainingtesting mode is turned off.
on  Whether to enable/disable the trainingtesting mode 
Definition at line 66 of file HypothesisTest.cpp.

inherited 
Method that specifies the ratio of trainingtesting data split for the algorithms. Note that this is NOT the percentage of samples to be used for training, rather the ratio of the number of samples to be used for training and that of testing.
By default, an equal 5050 split (ratio = 1) is made.
ratio  The ratio of the number of samples to be used for training and that of testing 
Definition at line 71 of file HypothesisTest.cpp.

virtualinherited 
A shallow copy. All the SGObject instance variables will be simply assigned and SG_REFed.
Reimplemented in CGaussianKernel.
Definition at line 226 of file SGObject.cpp.
index_t spectrum_get_num_eigenvalues  (  )  const 
Definition at line 597 of file QuadraticTimeMMD.cpp.
void spectrum_set_num_eigenvalues  (  index_t  num_eigenvalues  ) 
Method that sets the number of eigenvalues to be used when spectral estimation of the null samples is used. Will be ignored if nullapproximation method was anything else.
num_eigenvalues  The number of eigenvalues to be used from the eigenspectrum of the Gram matrix. 
Definition at line 592 of file QuadraticTimeMMD.cpp.

inherited 
Subscribe a parameter observer to watch over params
Definition at line 811 of file SGObject.cpp.

inherited 
decrement reference counter and deallocate object if refcount is zero before or after decrementing it
Definition at line 200 of file SGObject.cpp.

inherited 
unset generic type
this has to be called in classes specializing a template class
Definition at line 337 of file SGObject.cpp.

virtualinherited 
Updates the hash of current parameter combination
Definition at line 282 of file SGObject.cpp.

friend 
Definition at line 99 of file QuadraticTimeMMD.h.

inherited 
io
Definition at line 600 of file SGObject.h.

inherited 
parameters wrt which we can compute gradients
Definition at line 615 of file SGObject.h.

inherited 
Hash of parameter values
Definition at line 618 of file SGObject.h.

inherited 
model selection parameters
Definition at line 612 of file SGObject.h.

inherited 
parameters
Definition at line 609 of file SGObject.h.

inherited 
parallel
Definition at line 603 of file SGObject.h.

inherited 
version
Definition at line 606 of file SGObject.h.