|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.jstacs.models.AbstractModel
de.jstacs.models.discrete.DiscreteGraphicalModel
de.jstacs.models.discrete.homogeneous.HomogeneousModel
de.jstacs.models.discrete.homogeneous.HomogeneousMM
public class HomogeneousMM
This class implements homogeneous Markov models (hMM) of arbitrary order.
HomMMParameterSet| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class de.jstacs.models.discrete.homogeneous.HomogeneousModel |
|---|
HomogeneousModel.HomCondProb |
| Field Summary |
|---|
| Fields inherited from class de.jstacs.models.discrete.homogeneous.HomogeneousModel |
|---|
order, powers |
| Fields inherited from class de.jstacs.models.discrete.DiscreteGraphicalModel |
|---|
params, trained |
| Fields inherited from class de.jstacs.models.AbstractModel |
|---|
alphabets, length |
| Constructor Summary | |
|---|---|
HomogeneousMM(HomMMParameterSet params)
Creates a homogeneous Markov model from a parameter set. |
|
HomogeneousMM(StringBuffer stringBuff)
Creates a homogeneous Markov model from a StringBuffer. |
|
| Method Summary | |
|---|---|
HomogeneousMM |
clone()
Follows the conventions of Object's clone-method. |
protected StringBuffer |
getFurtherModelInfos()
|
String |
getInstanceName()
Should return a short instance name such as iMM(0), BN(2), ... |
double |
getLogPriorTerm()
Returns a value that is proportional to the log of the prior. |
protected Sequence |
getRandomSequence(Random r,
int length)
This method creates a sequence from a trained model. |
protected String |
getXMLTag()
|
protected double |
logProbFor(Sequence sequence,
int startpos,
int endpos)
This method computes the logarithm of the probability of the given sequence in the given interval. |
protected double |
probFor(Sequence sequence,
int startpos,
int endpos)
This method computes the probability of the given sequence in the given interval. |
protected void |
set(DGMParameterSet params,
boolean trained)
Sets the parameters as internal parameters and does some essential computations. |
protected void |
setFurtherModelInfos(StringBuffer xml)
This method replaces the internal model infos with those from the StringBuffer. |
String |
toString()
Should give a simple representation (text) of the model as String. |
void |
train(Sample[] data,
double[][] weights)
Trains the model using an array of weighted samples. |
void |
train(Sample data,
double[] weights)
Trains the Model object given the data as Sample using the specified weights. |
| Methods inherited from class de.jstacs.models.discrete.homogeneous.HomogeneousModel |
|---|
check, chooseFromDistr, cloneHomProb, emitSample, getLogProbFor, getMaximalMarkovOrder, getNumericalCharacteristics, getProbFor, train |
| Methods inherited from class de.jstacs.models.discrete.DiscreteGraphicalModel |
|---|
fromXML, getCurrentParameterSet, getDescription, getESS, isTrained, toXML |
| Methods inherited from class de.jstacs.models.AbstractModel |
|---|
getAlphabetContainer, getCharacteristics, getLength, getLogProbFor, getLogProbFor, getLogProbFor, getLogProbFor, getPriorTerm, getProbFor, getProbFor, set, setNewAlphabetContainerInstance, train |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public HomogeneousMM(HomMMParameterSet params)
throws CloneNotSupportedException,
IllegalArgumentException,
NonParsableException
params - the parameter set
CloneNotSupportedException - if the parameter set could not be cloned
IllegalArgumentException - if the parameter set is not instantiated
NonParsableException - if the parameter set is not parsable
public HomogeneousMM(StringBuffer stringBuff)
throws NonParsableException
stringBuff - the StringBuffer
NonParsableException - if the buffer is not parsable| Method Detail |
|---|
public HomogeneousMM clone()
throws CloneNotSupportedException
AbstractModelObject's clone-method.
clone in interface Modelclone in class DiscreteGraphicalModelAbstractModel (the member-AlphabetContainer
isn't deeply cloned since it is assumed to be immutable). The type of the returned object is defined by
the class X directly inherited from AbstractModel. Hence X's
clone-method should work as:Object o = (X)super.clone(); 2. all additional member variables of o
defined by X that are not of simple data-types like int, double, ... , have to be deeply
copied 3. return o
CloneNotSupportedException
protected Sequence getRandomSequence(Random r,
int length)
throws WrongAlphabetException,
WrongSequenceTypeException
HomogeneousModel
getRandomSequence in class HomogeneousModelr - the random generatorlength - the length of the sequence
WrongAlphabetException
WrongSequenceTypeExceptionpublic String getInstanceName()
Model
public double getLogPriorTerm()
throws Exception
Model
Exception - if something went wrongModel.getPriorTerm()
protected double logProbFor(Sequence sequence,
int startpos,
int endpos)
HomogeneousModelModel.getLogProbFor(Sequence, int, int) after the method
HomogeneousModel.check(Sequence, int, int) has been invoked.
logProbFor in class HomogeneousModelsequence - the sequencestartpos - the start positionendpos - the end position
HomogeneousModel.check(Sequence, int, int),
Model.getLogProbFor(Sequence, int, int)
protected double probFor(Sequence sequence,
int startpos,
int endpos)
HomogeneousModelModel.getProbFor(Sequence, int, int) after the method
HomogeneousModel.check(Sequence, int, int) has been invoked.
probFor in class HomogeneousModelsequence - the sequencestartpos - the start positionendpos - the end position
HomogeneousModel.check(Sequence, int, int),
Model.getProbFor(Sequence, int, int)public String toString()
Model
toString in interface ModeltoString in class DiscreteGraphicalModel
public void train(Sample data,
double[] weights)
throws Exception
ModelSample using the specified weights. The weight
at position i belongs to the element at position i. So the array weight should have the number of
sequences in the sample as dimension. (Optionally it is possible to use weight == null if all
weights have the value one.)
data - the given sequencesweights - the weights of the elements, each weight should be non-negative
Exception - an Exception should be thrown if the training did not succeed (e.g. the weights dimension of weights
and number of samples does not match).Sample.getElementAt(int),
Sample.ElementEnumerator
public void train(Sample[] data,
double[][] weights)
throws Exception
HomogeneousModelweights[i] are for data[i].
train in class HomogeneousModeldata - the samplesweights - the weights
Exception - if something went wrong, furthermore data.length has to be weights.lengthprotected StringBuffer getFurtherModelInfos()
getFurtherModelInfos in class DiscreteGraphicalModelDiscreteGraphicalModel.toXML()protected String getXMLTag()
getXMLTag in class DiscreteGraphicalModelDiscreteGraphicalModel.fromXML(StringBuffer),
DiscreteGraphicalModel.toXML()
protected void set(DGMParameterSet params,
boolean trained)
throws CloneNotSupportedException,
NonParsableException
DiscreteGraphicalModel
set in class HomogeneousModelparams - the new ParameterSettrained - the indicator for the model
CloneNotSupportedException - if the parmeterSet could not be cloned
NonParsableException - if the parameters of the model could not be parsed
protected void setFurtherModelInfos(StringBuffer xml)
throws NonParsableException
DiscreteGraphicalModel
setFurtherModelInfos in class DiscreteGraphicalModelxml - contains the model infos like parameters of the distribution ... in xml format
NonParsableException - if the StringBuffer could not be parsedDiscreteGraphicalModel.fromXML(StringBuffer)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||