public class HMM extends java.lang.Object implements HiddenMarkovModel
Constructor and Description |
---|
HMM(RandomVariable stateVariable,
Matrix transitionModel,
java.util.Map<java.lang.Object,Matrix> sensorModel,
Matrix prior)
Instantiate a Hidden Markov Model.
|
Modifier and Type | Method and Description |
---|---|
Matrix |
convert(CategoricalDistribution fromCD)
Convert a Categorical Distribution into a column vector in Matrix form.
|
java.util.List<CategoricalDistribution> |
convert(java.util.List<Matrix> matrixs)
Convert a list of column vectors in Matrix form into a corresponding list
of Categorical Distributions.
|
CategoricalDistribution |
convert(Matrix fromMessage)
Convert a column vector in Matrix form to a Categorical Distribution.
|
Matrix |
createUnitMessage()
Return a new column vector in matrix form with all values set to 1.0.
|
Matrix |
getEvidence(java.util.List<AssignmentProposition> evidence)
Get the specific evidence matrix based on assigned evidence value.
|
Matrix |
getPrior()
Return the prior distribution represented as a column vector in Matrix
form.
|
java.util.Map<java.lang.Object,Matrix> |
getSensorModel()
Return the sensor model in matrix form:
P(et | Xt = i) for each state i. For mathematical convenience we place each of these values into an S * S diagonal matrix. |
RandomVariable |
getStateVariable()
Return the single discrete random variable used to describe the process
state.
|
Matrix |
getTransitionModel()
Return the transition model:
P(Xt | Xt-1) is represented by an S * S matrix T where Tij = P(Xt = j | Xt-1 = i). |
Matrix |
normalize(Matrix m)
Create a normalized column vector in matrix form of the passed in column
vector.
|
public HMM(RandomVariable stateVariable, Matrix transitionModel, java.util.Map<java.lang.Object,Matrix> sensorModel, Matrix prior)
stateVariable
- the single discrete random variable used to describe the
process states 1,...,S.transitionModel
- the transition model:sensorModel
- the sensor model in matrix form:prior
- the prior distribution represented as a column vector in
Matrix form.public RandomVariable getStateVariable()
HiddenMarkovModel
getStateVariable
in interface HiddenMarkovModel
public Matrix getTransitionModel()
HiddenMarkovModel
getTransitionModel
in interface HiddenMarkovModel
public java.util.Map<java.lang.Object,Matrix> getSensorModel()
HiddenMarkovModel
getSensorModel
in interface HiddenMarkovModel
public Matrix getPrior()
HiddenMarkovModel
getPrior
in interface HiddenMarkovModel
public Matrix getEvidence(java.util.List<AssignmentProposition> evidence)
HiddenMarkovModel
getEvidence
in interface HiddenMarkovModel
evidence
- the evidence assignment e.public Matrix createUnitMessage()
HiddenMarkovModel
createUnitMessage
in interface HiddenMarkovModel
public Matrix convert(CategoricalDistribution fromCD)
HiddenMarkovModel
convert
in interface HiddenMarkovModel
fromCD
- the categorical distribution to be converted.public CategoricalDistribution convert(Matrix fromMessage)
HiddenMarkovModel
convert
in interface HiddenMarkovModel
fromMessage
- the column vector in Matrix form to be converted.public java.util.List<CategoricalDistribution> convert(java.util.List<Matrix> matrixs)
HiddenMarkovModel
convert
in interface HiddenMarkovModel
matrixs
- the column vectors in matrix form to be converted.public Matrix normalize(Matrix m)
HiddenMarkovModel
normalize
in interface HiddenMarkovModel
m
- a column vector representation in matrix form.