23 #ifndef __MLPACK_METHODS_HMM_HMM_HPP
24 #define __MLPACK_METHODS_HMM_HMM_HPP
92 template<
typename Distribution = distribution::DiscreteDistribution>
113 HMM(
const size_t states,
114 const Distribution emissions,
146 const std::vector<Distribution>&
emission,
177 void Train(
const std::vector<arma::mat>& dataSeq);
200 void Train(
const std::vector<arma::mat>& dataSeq,
201 const std::vector<arma::Col<size_t> >& stateSeq);
221 double Estimate(
const arma::mat& dataSeq,
222 arma::mat& stateProb,
223 arma::mat& forwardProb,
224 arma::mat& backwardProb,
225 arma::vec& scales)
const;
238 double Estimate(
const arma::mat& dataSeq,
239 arma::mat& stateProb)
const;
253 arma::mat& dataSequence,
254 arma::Col<size_t>& stateSequence,
255 const size_t startState = 0)
const;
267 double Predict(
const arma::mat& dataSeq,
268 arma::Col<size_t>& stateSeq)
const;
321 void Forward(
const arma::mat& dataSeq,
323 arma::mat& forwardProb)
const;
336 void Backward(
const arma::mat& dataSeq,
337 const arma::vec& scales,
338 arma::mat& backwardProb)
const;
360 #include "hmm_impl.hpp"