[mlpack-svn] r10296 - mlpack/trunk/src/mlpack/methods/hmm/distributions
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Wed Nov 16 13:10:34 EST 2011
Author: rcurtin
Date: 2011-11-16 13:10:34 -0500 (Wed, 16 Nov 2011)
New Revision: 10296
Modified:
mlpack/trunk/src/mlpack/methods/hmm/distributions/discrete_distribution.hpp
Log:
Make sure the distribution is normalized.
Modified: mlpack/trunk/src/mlpack/methods/hmm/distributions/discrete_distribution.hpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/hmm/distributions/discrete_distribution.hpp 2011-11-16 17:59:32 UTC (rev 10295)
+++ mlpack/trunk/src/mlpack/methods/hmm/distributions/discrete_distribution.hpp 2011-11-16 18:10:34 UTC (rev 10296)
@@ -52,8 +52,18 @@
*
* @param probabilities Probabilities of each possible observation.
*/
- DiscreteDistribution(const arma::vec& probabilities) :
- probabilities(probabilities) { /* nothing to do */ }
+ DiscreteDistribution(const arma::vec& probabilities)
+ {
+ // We must be sure that our distribution is normalized.
+ double sum = accu(probabilities);
+ if (sum > 0)
+ this->probabilities = probabilities / sum;
+ else
+ {
+ this->probabilities.set_size(probabilities.n_elem);
+ this->probabilities.fill(1 / probabilities.n_elem);
+ }
+ }
/**
* Return the probability of the given observation. If the observation is
More information about the mlpack-svn
mailing list