viterbi: Computes the most probable path of states

Description Usage Arguments Format Value Author(s) References Examples

View source: R/HMM.r

Description

The Viterbi-algorithm computes the most probable path of states for a sequence of observations for a given Hidden Markov Model.

Usage

1
viterbi(hmm, observation)

Arguments

hmm

A Hidden Markov Model.

observation

A sequence of observations.

Format

Dimension and Format of the Arguments.

hmm

A valid Hidden Markov Model, for example instantiated by initHMM.

observation

A vector of observations.

Value

Return Value:

viterbiPath

A vector of strings, containing the most probable path of states.

Author(s)

Lin Himmelmann <[email protected]>, Scientific Software Development

References

Lawrence R. Rabiner: A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. Proceedings of the IEEE 77(2) p.257-286, 1989.

Examples

1
2
3
4
5
6
7
8
9
# Initialise HMM
hmm = initHMM(c("A","B"), c("L","R"), transProbs=matrix(c(.6,.4,.4,.6),2),
	emissionProbs=matrix(c(.6,.4,.4,.6),2))
print(hmm)
# Sequence of observations
observations = c("L","L","R","R")
# Calculate Viterbi path
viterbi = viterbi(hmm,observations)
print(viterbi)

Example output

$States
[1] "A" "B"

$Symbols
[1] "L" "R"

$startProbs
  A   B 
0.5 0.5 

$transProbs
    to
from   A   B
   A 0.6 0.4
   B 0.4 0.6

$emissionProbs
      symbols
states   L   R
     A 0.6 0.4
     B 0.4 0.6

[1] "A" "A" "B" "B"

HMM documentation built on May 29, 2017, 11:45 a.m.

Related to viterbi in HMM...