[mlpack-git] master: Issue a warning when observations are not given for all classes. (2eface7)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Fri Nov 20 13:23:15 EST 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/fdd2ae00c4359e1f394abb8afbf7a6bb44277272...fa8919245e69fb9dbfa98e43f6c060213e6a1937
>---------------------------------------------------------------
commit 2eface7b7a0add7d155c151158dce277d2237e4d
Author: Ryan Curtin <ryan at ratml.org>
Date: Fri Nov 20 09:27:26 2015 -0800
Issue a warning when observations are not given for all classes.
>---------------------------------------------------------------
2eface7b7a0add7d155c151158dce277d2237e4d
src/mlpack/methods/hmm/hmm_impl.hpp | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/src/mlpack/methods/hmm/hmm_impl.hpp b/src/mlpack/methods/hmm/hmm_impl.hpp
index 3eeef35..ce60d4e 100644
--- a/src/mlpack/methods/hmm/hmm_impl.hpp
+++ b/src/mlpack/methods/hmm/hmm_impl.hpp
@@ -264,14 +264,23 @@ void HMM<Distribution>::Train(const std::vector<arma::mat>& dataSeq,
{
// Generate full sequence of observations for this state from the list of
// emissions that are from this state.
- arma::mat emissions(dimensionality, emissionList[state].size());
- for (size_t i = 0; i < emissions.n_cols; i++)
+ if (emissionList[state].size() > 0)
{
- emissions.col(i) = dataSeq[emissionList[state][i].first].col(
- emissionList[state][i].second);
- }
+ arma::mat emissions(dimensionality, emissionList[state].size());
+ for (size_t i = 0; i < emissions.n_cols; i++)
+ {
+ emissions.col(i) = dataSeq[emissionList[state][i].first].col(
+ emissionList[state][i].second);
+ }
- emission[state].Estimate(emissions);
+ emission[state].Estimate(emissions);
+ }
+ else
+ {
+ Log::Warn << "There are no observations in training data with hidden "
+ << "state " << state << "! The corresponding emission distribution "
+ << "is likely to be meaningless." << std::endl;
+ }
}
}
More information about the mlpack-git
mailing list