Packages

class HiddenMarkov extends Classifier

The HiddenMarkov classes provides Hidden Markov Models (HMM). An HMM model consists of a probability vector 'pi' and probability matrices 'a' and 'b'. The discrete-time system is characterized by a hidden 'state(t)' and an 'observed(t)' symbol at time 't'.

pi(j) = P(state(t) = j) a(i, j) = P(state(t+1) = j | state(t) = i) b(i, k) = P(observed(t) = k | state(t) = i)

model (pi, a, b)

See also

www.cs.sjsu.edu/faculty/stamp/RUA/HMM.pdf

Linear Supertypes
Classifier, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HiddenMarkov
  2. Classifier
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HiddenMarkov(ob: VectorI, m: Int, n: Int, pi: VectorD = null, a: MatrixD = null, b: MatrixD = null)

    ob

    the observation vector

    m

    the number of observation symbols

    n

    the number of (hidden) states in the model

    pi

    the probabilty vector for the initial state

    a

    the state transition probability matrix (n-by-n)

    b

    the observation probability matrix (n-by-m)

Value Members

  1. def alp_pass(): MatrixD

    The alpha-pass: a forward pass from time 't = 0' to 'tt-1' that computes alpha 'alp'.

  2. def bet_pass(): MatrixD

    The beta-pass: a backward pass from time 't = tt-1' to 0 that computes beta 'bet'.

  3. def classify(z: VectoD): (Int, String, Double)

    Given a new continuous data vector z, determine which class it belongs to, returning the best class, its name and its relative probability.

    Given a new continuous data vector z, determine which class it belongs to, returning the best class, its name and its relative probability.

    z

    the vector to classify

    Definition Classes
    HiddenMarkovClassifier
  4. def classify(z: VectoI): (Int, String, Double)

    Given a new discrete data vector z, determine which class it belongs to, returning the best class, its name and its relative probability.

    Given a new discrete data vector z, determine which class it belongs to, returning the best class, its name and its relative probability.

    z

    the vector to classify

    Definition Classes
    HiddenMarkovClassifier
  5. def crossValidate(nx: Int = 10): Double

    Test the accuracy of the classified results by cross-validation, returning the accuracy.

    Test the accuracy of the classified results by cross-validation, returning the accuracy. The "test data" starts at 'testStart' and ends at 'testEnd', the rest of the data is "training data'.

    nx

    the number of crosses and cross-validations (defaults to 5x).

    Definition Classes
    Classifier
  6. def crossValidateRand(nx: Int = 10): Double

    Test the accuracy of the classified results by cross-validation, returning the accuracy.

    Test the accuracy of the classified results by cross-validation, returning the accuracy. This version of cross-validation relies on "subtracting" frequencies from the previously stored global data to achieve efficiency.

    nx

    number of crosses and cross-validations (defaults to 10x).

    Definition Classes
    Classifier
  7. def gam_pass(alp: MatrixD, bet: MatrixD): Unit

    The gamma-pass: a forward pass from time 't = 0' to 'tt-2' that computes gamma 'gam'.

  8. def logProb(): Double

    Compute the log of the probability of the observation vector 'ob' given the model 'pi, 'a' and 'b'.

  9. def reestimate(): Unit

    Re-estimate the probability vector 'pi' and the probability matrices 'a' and 'b'.

  10. def reset(): Unit

    Reset global variables.

    Reset global variables. So far, not needed.

    Definition Classes
    HiddenMarkovClassifier
  11. def size: Int

    Return the size of the (hidden) state space.

    Return the size of the (hidden) state space.

    Definition Classes
    HiddenMarkovClassifier
  12. def test(testStart: Int, testEnd: Int): Double

    Test the quality of the training with a test-set and return the fraction of correct classifications.

    Test the quality of the training with a test-set and return the fraction of correct classifications.

    testStart

    the beginning of test region (inclusive).

    testEnd

    the end of test region (exclusive).

    Definition Classes
    HiddenMarkovClassifier
  13. def test(itest: VectorI): Double

    Test the quality of the training with a test-set and return the fraction of correct classifications.

    Test the quality of the training with a test-set and return the fraction of correct classifications.

    itest

    the indices of the instances considered test data

    Definition Classes
    Classifier
  14. def train(testStart: Int, testEnd: Int): Unit

    Train the Hidden Markov Model using the observation vector 'ob' to determine the model 'pi, 'a' and 'b'.

    Train the Hidden Markov Model using the observation vector 'ob' to determine the model 'pi, 'a' and 'b'.

    testStart

    the beginning of test region (inclusive).

    testEnd

    the end of test region (exclusive).

    Definition Classes
    HiddenMarkovClassifier
  15. def train(): Unit

    Given a set of data vectors and their classifications, build a classifier.

    Given a set of data vectors and their classifications, build a classifier.

    Definition Classes
    Classifier
  16. def train(itest: IndexedSeq[Int]): Unit

    Given a set of data vectors and their classifications, build a classifier.

    Given a set of data vectors and their classifications, build a classifier.

    itest

    the indices of the instances considered as testing data

    Definition Classes
    Classifier
  17. def train2(testStart: Int, testEnd: Int): (VectorD, MatrixD, MatrixD)

    Train the Hidden Markov Model using the observation vector 'ob' to determine the model 'pi, 'a' and 'b' and return the model.

    Train the Hidden Markov Model using the observation vector 'ob' to determine the model 'pi, 'a' and 'b' and return the model.

    testStart

    the beginning of test region (inclusive).

    testEnd

    the end of test region (exclusive).