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
- Alphabetic
- By Inheritance
- HiddenMarkov
- Classifier
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
alp_pass(): MatrixD
The alpha-pass: a forward pass from time 't = 0' to 'tt-1' that computes alpha 'alp'.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
bet_pass(): MatrixD
The beta-pass: a backward pass from time 't = tt-1' to 0 that computes beta 'bet'.
-
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
- HiddenMarkov → Classifier
-
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
- HiddenMarkov → Classifier
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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
-
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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
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
-
def
fitLabel: Seq[String]
Return the labels for the fit.
Return the labels for the fit. Override when necessary.
- Definition Classes
- Classifier
-
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
-
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'.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
logProb(): Double
Compute the log of the probability of the observation vector 'ob' given the model 'pi, 'a' and 'b'.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
reestimate(): Unit
Re-estimate the probability vector 'pi' and the probability matrices 'a' and 'b'.
-
def
reset(): Unit
Reset global variables.
Reset global variables. So far, not needed.
- Definition Classes
- HiddenMarkov → Classifier
-
def
size: Int
Return the size of the (hidden) state space.
Return the size of the (hidden) state space.
- Definition Classes
- HiddenMarkov → Classifier
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
- HiddenMarkov → Classifier
-
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
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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
- HiddenMarkov → Classifier
-
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
-
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
-
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.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )