mlpack 3.4.2
|
The multivariate Laplace distribution centered at 0 has pdf. More...
#include <laplace_distribution.hpp>
Public Member Functions | |
LaplaceDistribution () | |
Default constructor, which creates a Laplace distribution with zero dimension and zero scale parameter. More... | |
LaplaceDistribution (const arma::vec &mean, const double scale) | |
Construct the Laplace distribution with the given mean and scale parameter. More... | |
LaplaceDistribution (const size_t dimensionality, const double scale) | |
Construct the Laplace distribution with the given scale and dimensionality. More... | |
size_t | Dimensionality () const |
Return the dimensionality of this distribution. More... | |
void | Estimate (const arma::mat &observations) |
Estimate the Laplace distribution directly from the given observations. More... | |
void | Estimate (const arma::mat &observations, const arma::vec &probabilities) |
Estimate the Laplace distribution from the given observations, taking into account the probability of each observation actually being from this distribution. More... | |
void | LogProbability (const arma::mat &x, arma::vec &logProbabilities) const |
Evaluate log probability density function of given observation. More... | |
double | LogProbability (const arma::vec &observation) const |
Return the log probability of the given observation. More... | |
arma::vec & | Mean () |
Modify the mean. More... | |
const arma::vec & | Mean () const |
Return the mean. More... | |
void | Probability (const arma::mat &x, arma::vec &probabilities) const |
Evaluate probability density function of given observation. More... | |
double | Probability (const arma::vec &observation) const |
Return the probability of the given observation. More... | |
arma::vec | Random () const |
Return a randomly generated observation according to the probability distribution defined by this object. More... | |
double & | Scale () |
Modify the scale parameter. More... | |
double | Scale () const |
Return the scale parameter. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int) |
Serialize the distribution. More... | |
The multivariate Laplace distribution centered at 0 has pdf.
given scale parameter and mean
. This implementation assumes a diagonal covariance, but a rewrite to support arbitrary covariances is possible.
See the following paper for more information on the non-diagonal-covariance Laplace distribution and estimation techniques:
Note that because of the diagonal covariance restriction, much of the algebra in the paper above becomes simplified, and the PDF takes roughly the same form as the univariate case.
Definition at line 50 of file laplace_distribution.hpp.
|
inline |
Default constructor, which creates a Laplace distribution with zero dimension and zero scale parameter.
Definition at line 57 of file laplace_distribution.hpp.
|
inline |
Construct the Laplace distribution with the given scale and dimensionality.
The mean is initialized to zero.
dimensionality | Dimensionality of distribution. |
scale | Scale of distribution. |
Definition at line 66 of file laplace_distribution.hpp.
|
inline |
Construct the Laplace distribution with the given mean and scale parameter.
mean | Mean of distribution. |
scale | Scale of distribution. |
Definition at line 76 of file laplace_distribution.hpp.
|
inline |
Return the dimensionality of this distribution.
Definition at line 80 of file laplace_distribution.hpp.
void Estimate | ( | const arma::mat & | observations | ) |
Estimate the Laplace distribution directly from the given observations.
observations | List of observations. |
void Estimate | ( | const arma::mat & | observations, |
const arma::vec & | probabilities | ||
) |
Estimate the Laplace distribution from the given observations, taking into account the probability of each observation actually being from this distribution.
|
inline |
Evaluate log probability density function of given observation.
x | List of observations. |
logProbabilities | Output probabilities for each input observation. |
Definition at line 113 of file laplace_distribution.hpp.
References LaplaceDistribution::LogProbability().
double LogProbability | ( | const arma::vec & | observation | ) | const |
Return the log probability of the given observation.
observation | Point to evaluate logarithm of probability. |
Referenced by LaplaceDistribution::LogProbability(), and LaplaceDistribution::Probability().
|
inline |
Modify the mean.
Definition at line 165 of file laplace_distribution.hpp.
|
inline |
Return the mean.
Definition at line 163 of file laplace_distribution.hpp.
void Probability | ( | const arma::mat & | x, |
arma::vec & | probabilities | ||
) | const |
Evaluate probability density function of given observation.
x | List of observations. |
probabilities | Output probabilities for each input observation. |
|
inline |
Return the probability of the given observation.
observation | Point to evaluate probability at. |
Definition at line 87 of file laplace_distribution.hpp.
References LaplaceDistribution::LogProbability().
|
inline |
Return a randomly generated observation according to the probability distribution defined by this object.
This is inlined for speed.
Definition at line 128 of file laplace_distribution.hpp.
|
inline |
Modify the scale parameter.
Definition at line 170 of file laplace_distribution.hpp.
|
inline |
Return the scale parameter.
Definition at line 168 of file laplace_distribution.hpp.
|
inline |
Serialize the distribution.
Definition at line 176 of file laplace_distribution.hpp.