.TH "mlpack::distribution::DiscreteDistribution" 3 "Tue Sep 9 2014" "Version 1.0.10" "MLPACK" \" -*- nroff -*- .ad l .nh .SH NAME mlpack::distribution::DiscreteDistribution \- .PP A discrete distribution where the only observations are discrete observations\&. .SH SYNOPSIS .br .PP .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBDiscreteDistribution\fP ()" .br .RI "\fIDefault constructor, which creates a distribution that has no observations\&. \fP" .ti -1c .RI "\fBDiscreteDistribution\fP (const size_t numObservations)" .br .RI "\fIDefine the discrete distribution as having numObservations possible observations\&. \fP" .ti -1c .RI "\fBDiscreteDistribution\fP (const arma::vec &\fBprobabilities\fP)" .br .RI "\fIDefine the discrete distribution as having the given probabilities for each observation\&. \fP" .ti -1c .RI "size_t \fBDimensionality\fP () const " .br .RI "\fIGet the dimensionality of the distribution\&. \fP" .ti -1c .RI "void \fBEstimate\fP (const arma::mat &observations)" .br .RI "\fIEstimate the probability distribution directly from the given observations\&. \fP" .ti -1c .RI "void \fBEstimate\fP (const arma::mat &observations, const arma::vec &\fBprobabilities\fP)" .br .RI "\fIEstimate the probability distribution from the given observations, taking into account the probability of each observation actually being from this distribution\&. \fP" .ti -1c .RI "const arma::vec & \fBProbabilities\fP () const " .br .RI "\fIReturn the vector of probabilities\&. \fP" .ti -1c .RI "arma::vec & \fBProbabilities\fP ()" .br .RI "\fIModify the vector of probabilities\&. \fP" .ti -1c .RI "double \fBProbability\fP (const arma::vec &observation) const " .br .RI "\fIReturn the probability of the given observation\&. \fP" .ti -1c .RI "arma::vec \fBRandom\fP () const " .br .RI "\fIReturn a randomly generated observation (one-dimensional vector; one observation) according to the probability distribution defined by this object\&. \fP" .ti -1c .RI "std::string \fBToString\fP () const " .br .in -1c .SS "Private Attributes" .in +1c .ti -1c .RI "arma::vec \fBprobabilities\fP" .br .in -1c .SH "Detailed Description" .PP 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\&. .PP No bounds checking is performed for observations, so if an invalid observation is passed (i\&.e\&. observation > numObservations), a crash will probably occur\&. .PP 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\&. .PP \fBNote:\fP .RS 4 This class, like every other class in MLPACK, uses arma::vec to represent observations\&. While a discrete distribution only has positive integers (size_t) as observations, these can be converted to doubles (which is what arma::vec holds)\&. This distribution internally converts those doubles back into size_t before comparisons\&. .RE .PP .PP Definition at line 53 of file discrete_distribution\&.hpp\&. .SH "Constructor & Destructor Documentation" .PP .SS "mlpack::distribution::DiscreteDistribution::DiscreteDistribution ()\fC [inline]\fP" .PP Default constructor, which creates a distribution that has no observations\&. .PP Definition at line 59 of file discrete_distribution\&.hpp\&. .SS "mlpack::distribution::DiscreteDistribution::DiscreteDistribution (const size_tnumObservations)\fC [inline]\fP" .PP Define the discrete distribution as having numObservations possible observations\&. The probability in each state will be set to (1 / numObservations)\&. .PP \fBParameters:\fP .RS 4 \fInumObservations\fP Number of possible observations this distribution can have\&. .RE .PP .PP Definition at line 69 of file discrete_distribution\&.hpp\&. .SS "mlpack::distribution::DiscreteDistribution::DiscreteDistribution (const arma::vec &probabilities)\fC [inline]\fP" .PP Define the discrete distribution as having the given probabilities for each observation\&. .PP \fBParameters:\fP .RS 4 \fIprobabilities\fP Probabilities of each possible observation\&. .RE .PP .PP Definition at line 79 of file discrete_distribution\&.hpp\&. .SH "Member Function Documentation" .PP .SS "size_t mlpack::distribution::DiscreteDistribution::Dimensionality () const\fC [inline]\fP" .PP Get the dimensionality of the distribution\&. .PP Definition at line 95 of file discrete_distribution\&.hpp\&. .SS "void mlpack::distribution::DiscreteDistribution::Estimate (const arma::mat &observations)" .PP Estimate the probability distribution directly from the given observations\&. If any of the observations is greater than numObservations, a crash is likely to occur\&. .PP \fBParameters:\fP .RS 4 \fIobservations\fP List of observations\&. .RE .PP .SS "void mlpack::distribution::DiscreteDistribution::Estimate (const arma::mat &observations, const arma::vec &probabilities)" .PP Estimate the probability distribution from the given observations, taking into account the probability of each observation actually being from this distribution\&. .PP \fBParameters:\fP .RS 4 \fIobservations\fP List of observations\&. .br \fIprobabilities\fP List of probabilities that each observation is actually from this distribution\&. .RE .PP .SS "const arma::vec& mlpack::distribution::DiscreteDistribution::Probabilities () const\fC [inline]\fP" .PP Return the vector of probabilities\&. .PP Definition at line 153 of file discrete_distribution\&.hpp\&. .PP References probabilities\&. .SS "arma::vec& mlpack::distribution::DiscreteDistribution::Probabilities ()\fC [inline]\fP" .PP Modify the vector of probabilities\&. .PP Definition at line 155 of file discrete_distribution\&.hpp\&. .PP References probabilities\&. .SS "double mlpack::distribution::DiscreteDistribution::Probability (const arma::vec &observation) const\fC [inline]\fP" .PP 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\&. .PP \fBParameters:\fP .RS 4 \fIobservation\fP Observation to return the probability of\&. .RE .PP \fBReturns:\fP .RS 4 Probability of the given observation\&. .RE .PP .PP Definition at line 105 of file discrete_distribution\&.hpp\&. .PP References mlpack::Log::Debug, and probabilities\&. .SS "arma::vec mlpack::distribution::DiscreteDistribution::Random () const" .PP Return a randomly generated observation (one-dimensional vector; one observation) according to the probability distribution defined by this object\&. .PP \fBReturns:\fP .RS 4 Random observation\&. .RE .PP .SS "std::string mlpack::distribution::DiscreteDistribution::ToString () const" .SH "Member Data Documentation" .PP .SS "arma::vec mlpack::distribution::DiscreteDistribution::probabilities\fC [private]\fP" .PP Definition at line 163 of file discrete_distribution\&.hpp\&. .PP Referenced by Probabilities(), and Probability()\&. .SH "Author" .PP Generated automatically by Doxygen for MLPACK from the source code\&.