23 #ifndef __MLPACK_METHODS_HMM_HMM_HPP
24 #define __MLPACK_METHODS_HMM_HMM_HPP
92 template<
typename Distribution = distribution::DiscreteDistribution>
110 HMM(
const size_t states,
111 const Distribution emissions,
136 const std::vector<Distribution>&
emission,
167 void Train(
const std::vector<arma::mat>& dataSeq);
190 void Train(
const std::vector<arma::mat>& dataSeq,
191 const std::vector<arma::Col<size_t> >& stateSeq);
211 double Estimate(
const arma::mat& dataSeq,
212 arma::mat& stateProb,
213 arma::mat& forwardProb,
214 arma::mat& backwardProb,
215 arma::vec& scales)
const;
228 double Estimate(
const arma::mat& dataSeq,
229 arma::mat& stateProb)
const;
243 arma::mat& dataSequence,
244 arma::Col<size_t>& stateSequence,
245 const size_t startState = 0)
const;
257 double Predict(
const arma::mat& dataSeq,
258 arma::Col<size_t>& stateSeq)
const;
301 void Forward(
const arma::mat& dataSeq,
303 arma::mat& forwardProb)
const;
316 void Backward(
const arma::mat& dataSeq,
317 const arma::vec& scales,
318 arma::mat& backwardProb)
const;
337 #include "hmm_impl.hpp"