Packages

c

scalation.state

HiddenMarkov

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: VectoI, m: Int, n: Int, pi: VectoD = null, a: MatriD = null, b: MatriD = 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. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def alp_pass(): MatrixD

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

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def bet_pass(): MatrixD

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

  7. 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
  8. 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
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. def crossValidate(nx: Int = 10, show: Boolean = false): 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'. FIX - should return a StatVector

    nx

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

    show

    the show flag (show result from each iteration)

    Definition Classes
    Classifier
  11. def crossValidateRand(nx: Int = 10, show: Boolean = false): 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. FIX - are the comments correct? FIX - should return a StatVector

    nx

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

    show

    the show flag (show result from each iteration)

    Definition Classes
    Classifier
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def fit(y: VectoI, yp: VectoI, k: Int = 2): VectoD

    Return the quality of fit including 'acc', 'prec', 'recall', 'kappa'.

    Return the quality of fit including 'acc', 'prec', 'recall', 'kappa'. Override to add more quality of fit measures.

    y

    the actual class labels

    yp

    the predicted class labels

    k

    the number of class labels

    Definition Classes
    Classifier
    See also

    ConfusionMat

    medium.com/greyatom/performance-metrics-for-classification-problems-in-machine-learning-part-i-b085d432082b

  16. def fitLabel: Seq[String]

    Return the labels for the fit.

    Return the labels for the fit. Override when necessary.

    Definition Classes
    Classifier
  17. def fitMap(y: VectoI, yp: VectoI, k: Int = 2): Map[String, String]

    Build a map of quality of fit measures (use of LinedHashMap makes it ordered).

    Build a map of quality of fit measures (use of LinedHashMap makes it ordered). Override to add more quality of fit measures.

    y

    the actual class labels

    yp

    the predicted class labels

    k

    the number of class labels

    Definition Classes
    Classifier
  18. 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'.

  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def logProb(): Double

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

  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. def reestimate(): Unit

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

  27. def reset(): Unit

    Reset global variables.

    Reset global variables. So far, not needed.

    Definition Classes
    HiddenMarkovClassifier
  28. def size: Int

    Return the size of the (hidden) state space.

    Return the size of the (hidden) state space.

    Definition Classes
    HiddenMarkovClassifier
  29. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  30. def test(itest: IndexedSeq[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.

    itest

    the indices of the instances considered test data@param itestStart the indices of the test data

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

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

    Test the quality of the training with a test dataset and return the fraction of correct classifications. Can be used when the dataset is randomized so that the testing/training part of a dataset corresponds to simple slices of vectors and matrices.

    testStart

    the beginning of test region (inclusive).

    testEnd

    the end of test region (exclusive).

    Definition Classes
    Classifier
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. def train(itest: IndexedSeq[Int]): HiddenMarkov

    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'.

    itest

    the indices of the instances considered as testing data@param itestStart the indices of the test data

    Definition Classes
    HiddenMarkovClassifier
  34. def train(): Classifier

    Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications.

    Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications. Must be implemented in any extending class. Can be used when the whole dataset is used for training.

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

    Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications.

    Train the classifier by computing the probabilities from a training dataset of data vectors and their classifications. Must be implemented in any extending class. Can be used when the dataset is randomized so that the training part of a dataset corresponds to simple slices of vectors and matrices.

    testStart

    starting index of test region (inclusive) used in cross-validation

    testEnd

    ending index of test region (exclusive) used in cross-validation

    Definition Classes
    Classifier
  36. def train2(itest: IndexedSeq[Int]): (VectoD, MatriD, MatriD)

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

  37. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Classifier

Inherited from AnyRef

Inherited from Any

Ungrouped