qm-dsp 1.8
KLDivergence Class Reference

Helper methods for calculating Kullback-Leibler divergences. More...

#include <KLDivergence.h>

Public Member Functions

 KLDivergence ()
 
 ~KLDivergence ()
 
double distanceGaussian (const vector< double > &means1, const vector< double > &variances1, const vector< double > &means2, const vector< double > &variances2)
 Calculate a symmetrised Kullback-Leibler divergence of Gaussian models based on mean and variance vectors.
 
double distanceDistribution (const vector< double > &d1, const vector< double > &d2, bool symmetrised)
 Calculate a Kullback-Leibler divergence of two probability distributions.
 

Detailed Description

Helper methods for calculating Kullback-Leibler divergences.

Definition at line 26 of file KLDivergence.h.

Constructor & Destructor Documentation

◆ KLDivergence()

KLDivergence::KLDivergence ( )
inline

Definition at line 29 of file KLDivergence.h.

◆ ~KLDivergence()

KLDivergence::~KLDivergence ( )
inline

Definition at line 30 of file KLDivergence.h.

Member Function Documentation

◆ distanceGaussian()

double KLDivergence::distanceGaussian ( const vector< double > &  means1,
const vector< double > &  variances1,
const vector< double > &  means2,
const vector< double > &  variances2 
)

Calculate a symmetrised Kullback-Leibler divergence of Gaussian models based on mean and variance vectors.

All input vectors must be of equal size.

Definition at line 20 of file KLDivergence.cpp.

◆ distanceDistribution()

double KLDivergence::distanceDistribution ( const vector< double > &  d1,
const vector< double > &  d2,
bool  symmetrised 
)

Calculate a Kullback-Leibler divergence of two probability distributions.

Input vectors must be of equal size. If symmetrised is true, the result will be the symmetrised distance (equal to KL(d1, d2) + KL(d2, d1)).

Definition at line 45 of file KLDivergence.cpp.

References distanceDistribution().

Referenced by distanceDistribution().


The documentation for this class was generated from the following files: