Safe Haskell | None |
---|---|

Language | Haskell2010 |

Warning: do not import that module, it is only intended for demonstration

Example of an HMM with continuous emissions with two-dimensional observations. We train a model to accept a parametric curve of a circle with a certain speed. This is like Math.HiddenMarkovModel.Example.SineWave but in two dimensions.

The four hidden states correspond to the four quadrants.

## Synopsis

- data State
- type StateSet = Enumeration State
- stateSet :: StateSet
- data Coordinate
- type CoordinateSet = Enumeration Coordinate
- coordinateSet :: CoordinateSet
- type HMM = Gaussian CoordinateSet StateSet Double
- hmm :: HMM
- stateVector :: Double -> Double -> Double -> Double -> Vector StateSet Double
- circleLabeled :: T [] (State, Vector CoordinateSet Double)
- circle :: T [] (Vector CoordinateSet Double)
- revealed :: T [] State
- reconstructDistribution :: Gaussian CoordinateSet () Double
- reconstructModel :: HMM
- hmmTrainedSupervised :: HMM
- hmmTrainedUnsupervised :: HMM
- hmmIterativelyTrained :: HMM

# Documentation

type StateSet = Enumeration State Source #

data Coordinate Source #

## Instances

type CoordinateSet = Enumeration Coordinate Source #

circleLabeled :: T [] (State, Vector CoordinateSet Double) Source #

reconstructDistribution :: Gaussian CoordinateSet () Double Source #

Sample multivariate normal distribution and reconstruct it from the samples. You should obtain the same parameters.

reconstructModel :: HMM Source #

Generate labeled emission sequences and use them for supervised training.