libcrn  3.9.5
A document image processing library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
crn::DiscreteHMM Class Reference

Discrete HMM class. More...

#include <CRNDiscreteHMM.h>

+ Inheritance diagram for crn::DiscreteHMM:
+ Collaboration diagram for crn::DiscreteHMM:

Public Member Functions

 DiscreteHMM ()
 Default constructor. More...
 
 DiscreteHMM (int nstates, int nsymbs)
 Constructor. More...
 
 DiscreteHMM (const DiscreteHMM &h)
 Copy constructor. More...
 
DiscreteHMMoperator= (const DiscreteHMM &)=delete
 
 DiscreteHMM (DiscreteHMM &&) noexcept
 
DiscreteHMMoperator= (DiscreteHMM &&) noexcept
 
virtual ~DiscreteHMM () override
 Destructor. More...
 
bool operator== (const DiscreteHMM &other) const
 Tests the equality of two models. More...
 
size_t GetNbStates () const noexcept
 Returns the number of states. More...
 
size_t GetNbSymbols () const noexcept
 Returns the number of symbols. More...
 
SCSquareMatrixDouble GetStateTransitionProbability () const
 Returns a reference to the state transition probability matrix. More...
 
SCMatrixDouble GetStateGivenSymbolProbability () const
 Returns a reference to the state given symbol probability matrix. More...
 
SCMatrixDouble GetFirstStateProbability () const
 Returns a reference to the first state probability matrix. More...
 
void SetStateTransitionProbability (const SquareMatrixDouble &a)
 Sets the state transition probability matrix. More...
 
void SetStateGivenSymbolProbability (const MatrixDouble &b)
 Sets the state given symbol probability matrix. More...
 
void SetFirstStateProbability (const MatrixDouble &p)
 Sets the first state probability matrix. More...
 
bool IsValid () const
 Checks if the model is valid. More...
 
String ToString () const
 Dumps a summary to a string. More...
 
double SequenceProbability (const MatrixInt &observed) const
 Returns the a priori probability of an observed sequence. More...
 
UMatrixInt MakeViterbi (const MatrixInt &observed) const
 Returns the most likely state state sequence corresponding to an observed sequence. More...
 
void BaumWelchSingle (const MatrixInt &observed, size_t maxIter)
 Learning from one observed sequence. More...
 
void BaumWelchMultiple (const MatrixInt &observationSet, size_t maxIter)
 Learning from multiple observed sequences. More...
 
- Public Member Functions inherited from crn::Object
virtual ~Object ()=default
 

Detailed Description

Discrete HMM class.

Discrete Hidden Markov Model

Author
Jean DUONG
Date
September 2008
Version
0.3

Definition at line 41 of file CRNDiscreteHMM.h.

Constructor & Destructor Documentation

crn::DiscreteHMM::DiscreteHMM ( )
inline

Default constructor.

Definition at line 46 of file CRNDiscreteHMM.h.

DiscreteHMM::DiscreteHMM ( int  nstates,
int  nsymbs 
)

Constructor.

Constructor

Parameters
[in]nstatesnumber of states for HMM
[in]nsymbsnumber of symbols for HMM

Definition at line 56 of file CRNDiscreteHMM.cpp.

DiscreteHMM::DiscreteHMM ( const DiscreteHMM h)

Copy constructor.

Copy constructor

Parameters
[in]hanother HMM

Definition at line 40 of file CRNDiscreteHMM.cpp.

DiscreteHMM::DiscreteHMM ( DiscreteHMM &&  )
defaultnoexcept
DiscreteHMM::~DiscreteHMM ( )
overridevirtual

Destructor.

Destructor

Definition at line 71 of file CRNDiscreteHMM.cpp.

Member Function Documentation

void DiscreteHMM::BaumWelchMultiple ( const MatrixInt observationSet,
size_t  maxIter 
)

Learning from multiple observed sequences.

HMM model training with Baum-Welch procedure. Training with many observation sequences.

Parameters
[in]observationSetthe observed sequences. Each sequence is a line of the matrix.
[in]maxItermaximal number of iterations

Definition at line 507 of file CRNDiscreteHMM.cpp.

void DiscreteHMM::BaumWelchSingle ( const MatrixInt observed,
size_t  maxIter 
)

Learning from one observed sequence.

HMM model training with Baum-Welch procedure. Training with one observation sequence.

Parameters
[in]observedthe observed sequence as a line matrix
[in]maxIterthe maximum number of iterations

Definition at line 350 of file CRNDiscreteHMM.cpp.

SCMatrixDouble crn::DiscreteHMM::GetFirstStateProbability ( ) const
inline

Returns a reference to the first state probability matrix.

Definition at line 73 of file CRNDiscreteHMM.h.

size_t crn::DiscreteHMM::GetNbStates ( ) const
inlinenoexcept

Returns the number of states.

Definition at line 63 of file CRNDiscreteHMM.h.

size_t crn::DiscreteHMM::GetNbSymbols ( ) const
inlinenoexcept

Returns the number of symbols.

Definition at line 66 of file CRNDiscreteHMM.h.

SCMatrixDouble crn::DiscreteHMM::GetStateGivenSymbolProbability ( ) const
inline

Returns a reference to the state given symbol probability matrix.

Definition at line 71 of file CRNDiscreteHMM.h.

SCSquareMatrixDouble crn::DiscreteHMM::GetStateTransitionProbability ( ) const
inline

Returns a reference to the state transition probability matrix.

Definition at line 69 of file CRNDiscreteHMM.h.

bool DiscreteHMM::IsValid ( ) const

Checks if the model is valid.

Check if model is valid

Returns
true if the model is valid, false else

Definition at line 114 of file CRNDiscreteHMM.cpp.

UMatrixInt DiscreteHMM::MakeViterbi ( const MatrixInt observed) const

Returns the most likely state state sequence corresponding to an observed sequence.

Viterbi procedure to estimate the best state chain given an observation chain

Parameters
[in]observedthe observed sequence
Returns
the most likely state sequence corresponding to the observed sequence

Definition at line 270 of file CRNDiscreteHMM.cpp.

DiscreteHMM& crn::DiscreteHMM::operator= ( const DiscreteHMM )
delete
DiscreteHMM & DiscreteHMM::operator= ( DiscreteHMM &&  )
defaultnoexcept
bool DiscreteHMM::operator== ( const DiscreteHMM other) const

Tests the equality of two models.

Check if two models are equal

Parameters
[in]otherthe other HMM
Returns
true if models are equal, false else

Definition at line 141 of file CRNDiscreteHMM.cpp.

double DiscreteHMM::SequenceProbability ( const MatrixInt observed) const

Returns the a priori probability of an observed sequence.

Probability estimation for a given observation sequence

Parameters
[in]observedthe observed sequence
Returns
the a priori probability of the observed sequence

Definition at line 247 of file CRNDiscreteHMM.cpp.

void DiscreteHMM::SetFirstStateProbability ( const MatrixDouble p)

Sets the first state probability matrix.

Set the first state probability matrix. A copy of the matrix is made.

Parameters
[in]pthe new first state probability matrix

Definition at line 103 of file CRNDiscreteHMM.cpp.

void DiscreteHMM::SetStateGivenSymbolProbability ( const MatrixDouble b)

Sets the state given symbol probability matrix.

Set the state given symbol probability matrix. A copy of the matrix is made.

Parameters
[in]bthe new state given symbol probability matrix

Definition at line 91 of file CRNDiscreteHMM.cpp.

void DiscreteHMM::SetStateTransitionProbability ( const SquareMatrixDouble a)

Sets the state transition probability matrix.

Set the state transition probability matrix. A copy of the matrix is made.

Parameters
[in]athe new state transition probability matrix

Definition at line 80 of file CRNDiscreteHMM.cpp.

String DiscreteHMM::ToString ( ) const

Dumps a summary to a string.

Dump a summary to a string

Returns
a string containing a summary of the model

Definition at line 766 of file CRNDiscreteHMM.cpp.


The documentation for this class was generated from the following files: