A discrete distribution where the only observations are discrete observations. More...
Public Member Functions | |
| DiscreteDistribution (const arma::vec &probabilities) | |
| Define the discrete distribution as having the given probabilities for each observation. | |
| DiscreteDistribution (const size_t numObservations) | |
| Define the discrete distribution as having numObservations possible observations. | |
| DiscreteDistribution () | |
| Default constructor, which creates a distribution that has no observations. | |
| size_t | Dimensionality () const |
| Get the dimensionality of the distribution. | |
| void | Estimate (const arma::mat &observations, const arma::vec &probabilities) |
| Estimate the probability distribution from the given observations, taking into account the probability of each observation actually being from this distribution. | |
| void | Estimate (const arma::mat &observations) |
| Estimate the probability distribution directly from the given observations. | |
| arma::vec & | Probabilities () |
| Modify the vector of probabilities. | |
| const arma::vec & | Probabilities () const |
| Return the vector of probabilities. | |
| double | Probability (const arma::vec &observation) const |
| Return the probability of the given observation. | |
| arma::vec | Random () const |
| Return a randomly generated observation (one-dimensional vector; one observation) according to the probability distribution defined by this object. | |
| std::string | ToString () const |
Private Attributes | |
| arma::vec | probabilities |
A discrete distribution where the only observations are discrete observations.
This is useful (for example) with discrete Hidden Markov Models, where observations are non-negative integers representing specific emissions.
No bounds checking is performed for observations, so if an invalid observation is passed (i.e. observation > numObservations), a crash will probably occur.
This distribution only supports one-dimensional observations, so when passing an arma::vec as an observation, it should only have one dimension (vec.n_rows == 1). Any additional dimensions will simply be ignored.
Definition at line 53 of file discrete_distribution.hpp.
| mlpack::distribution::DiscreteDistribution::DiscreteDistribution | ( | ) | [inline] |
Default constructor, which creates a distribution that has no observations.
Definition at line 59 of file discrete_distribution.hpp.
| mlpack::distribution::DiscreteDistribution::DiscreteDistribution | ( | const size_t | numObservations | ) | [inline] |
Define the discrete distribution as having numObservations possible observations.
The probability in each state will be set to (1 / numObservations).
| numObservations | Number of possible observations this distribution can have. |
Definition at line 69 of file discrete_distribution.hpp.
| mlpack::distribution::DiscreteDistribution::DiscreteDistribution | ( | const arma::vec & | probabilities | ) | [inline] |
Define the discrete distribution as having the given probabilities for each observation.
| probabilities | Probabilities of each possible observation. |
Definition at line 79 of file discrete_distribution.hpp.
| size_t mlpack::distribution::DiscreteDistribution::Dimensionality | ( | ) | const [inline] |
Get the dimensionality of the distribution.
Definition at line 95 of file discrete_distribution.hpp.
| void mlpack::distribution::DiscreteDistribution::Estimate | ( | const arma::mat & | observations, | |
| const arma::vec & | probabilities | |||
| ) |
Estimate the probability distribution from the given observations, taking into account the probability of each observation actually being from this distribution.
| observations | List of observations. | |
| probabilities | List of probabilities that each observation is actually from this distribution. |
| void mlpack::distribution::DiscreteDistribution::Estimate | ( | const arma::mat & | observations | ) |
Estimate the probability distribution directly from the given observations.
If any of the observations is greater than numObservations, a crash is likely to occur.
| observations | List of observations. |
| arma::vec& mlpack::distribution::DiscreteDistribution::Probabilities | ( | ) | [inline] |
Modify the vector of probabilities.
Definition at line 155 of file discrete_distribution.hpp.
References probabilities.
| const arma::vec& mlpack::distribution::DiscreteDistribution::Probabilities | ( | ) | const [inline] |
Return the vector of probabilities.
Definition at line 153 of file discrete_distribution.hpp.
References probabilities.
| double mlpack::distribution::DiscreteDistribution::Probability | ( | const arma::vec & | observation | ) | const [inline] |
Return the probability of the given observation.
If the observation is greater than the number of possible observations, then a crash will probably occur -- bounds checking is not performed.
| observation | Observation to return the probability of. |
Definition at line 105 of file discrete_distribution.hpp.
References mlpack::Log::Debug, and probabilities.
| arma::vec mlpack::distribution::DiscreteDistribution::Random | ( | ) | const |
Return a randomly generated observation (one-dimensional vector; one observation) according to the probability distribution defined by this object.
| std::string mlpack::distribution::DiscreteDistribution::ToString | ( | ) | const |
arma::vec mlpack::distribution::DiscreteDistribution::probabilities [private] |
Definition at line 163 of file discrete_distribution.hpp.
Referenced by Probabilities(), and Probability().
1.6.1