|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jstacs.sequenceScores.statisticalModels.trainable.hmm.transitions.BasicHigherOrderTransition.AbstractTransitionElement
public abstract static class BasicHigherOrderTransition.AbstractTransitionElement
This class declares the probability distribution for a given context, i.e. it contains all possible transition and the corresponding probabilities for a given set offset previously visited states.
Field Summary | |
---|---|
protected int[] |
context
The context, i.e. the visited states, of the BasicHigherOrderTransition.AbstractTransitionElement |
protected int[] |
descendants
The indices for the descendant transition elements that can be visited following the states. |
protected double[] |
hyperParameters
The hyperparameters of the prior over the parameters. |
protected double |
logNorm
The log normalization constant based on the parameters. |
protected double[] |
parameters
The parameters defining the distribution over all states that can be visited. |
protected int[] |
states
The states that can be visited |
protected double[] |
statistic
The sufficient statistic for determining the parameters during sampling, viterbi or Baum-Welch training. |
Constructor Summary | |
---|---|
BasicHigherOrderTransition.AbstractTransitionElement(int[] context,
int[] states,
double[] hyperParameters)
This is the main constructor creating a new instance with given context, descendant states, and hyper parameters. |
|
BasicHigherOrderTransition.AbstractTransitionElement(int[] context,
int[] states,
double[] hyperParameters,
double[] weight)
This is the main constructor creating a new instance with given context, descendant states, and hyper parameters. |
|
BasicHigherOrderTransition.AbstractTransitionElement(StringBuffer xml)
The standard constructor for the interface Storable . |
Method Summary | |
---|---|
void |
addToStatistic(int childIdx,
double weight,
Sequence sequence,
int sequencePosition)
This method adds a given weight to the sufficient statistic for the parameters. |
protected abstract void |
appendFurtherInformation(StringBuffer xml)
This method appends further information to the XML representation. |
void |
appendGraphvizDescription(StringBuffer representation,
NumberFormat nf,
String arrowOption,
boolean graphical)
This method appends the current transition element to a Graphviz representation of the structure that can be used to create an image. |
protected void |
appendTransitions(StringBuffer representation,
String contextNodeRepresentation,
NumberFormat nf,
String arrowOption,
boolean graphical)
This method appends all edges of the transition element to a given Graphviz representation. |
BasicHigherOrderTransition.AbstractTransitionElement |
clone()
|
void |
drawParametersFromStatistic()
This method draws new parameters from the sufficient statistics. |
void |
estimateFromStatistic()
This method estimates the parameters from the sufficient statistic. |
protected abstract void |
extractFurtherInformation(StringBuffer xml)
This method extracts further information from the XML representation. |
protected static String |
getArrowOption(NumberFormat nf,
double prob,
double weight,
String arrowOption,
boolean graphical)
This method returns the option for an edge in Graphviz. |
int |
getChild(int index)
This method returns the state index encoded by the child index. |
protected String |
getContext(String[] stateNames)
This method returns a String representation of the context. |
int |
getDescendant(int index)
This method returns the index of the descendant transition element when following the child with index index |
protected double |
getGraphvizEdgeWeight(int s)
This method returns the edge weight for plotting the edge with Graphviz. |
protected String |
getLabel(String[] stateNames,
int stateIdx)
This method returns a label for the state. |
double |
getLogGammaScoreFromStatistic()
This method calculates a score for the current statistics, which is independent from the current parameters In general the gamma-score is a product of gamma-functions parameterized with the current statistics |
double |
getLogPriorTerm()
Returns a value that is proportional to the log of the prior. |
double |
getLogScoreFor(int index,
Sequence sequence,
int sequencePosition)
This method returns the score for the transition from the current context to the state with index index . |
int[] |
getNextContext(int index,
int maximalMarkovOrder)
This method returns the next context that will be visited when visiting the child with index index . |
int |
getNumberOfChildren()
This method returns the number of states that can be visited. |
int |
getNumberOfParameters()
This method returns the number of parameters in this transition element. |
protected String |
getXMLTag()
This method returns the xml tag used in toXML() . |
protected void |
init()
This method initializes internal fields. |
void |
initializeRandomly()
This method draws new parameters from the prior. |
void |
joinStatistics(BasicHigherOrderTransition.AbstractTransitionElement... te)
This method joins the statistics of different instances and sets this joined statistic as statistic of each instance. |
protected void |
precompute()
This method precomputes internal fields as for instance the normalization constant. |
void |
resetStatistic()
This method resets the sufficient statistic for the parameters. |
void |
setIndexOfDescendantTransitionElement(int index,
int descendant)
This method sets the index of the descendant transition element for the child with index index . |
void |
setParameters(BasicHigherOrderTransition.AbstractTransitionElement t)
Set values of parameters of the instance to the value of the parameters of the given instance. |
String |
toString()
|
String |
toString(String[] stateNames)
This method returns a String representation of the transition element using the given names of the states. |
StringBuffer |
toXML()
This method returns an XML representation as StringBuffer of an
instance of the implementing class. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected int[] context
BasicHigherOrderTransition.AbstractTransitionElement
protected int[] states
protected double[] hyperParameters
getLogPriorTerm()
,
parameters
protected double[] parameters
states
protected double[] statistic
addToStatistic(int, double, Sequence, int)
,
resetStatistic()
,
parameters
protected double logNorm
parameters
protected int[] descendants
states
Constructor Detail |
---|
public BasicHigherOrderTransition.AbstractTransitionElement(int[] context, int[] states, double[] hyperParameters)
context
- the context (=previously visited state indices); last entry corresponds to the last state visitedstates
- the transitions to all possible states; if null
then no transition allowedhyperParameters
- the hyper parameters for the transitions; if null
then no prior is usedBasicHigherOrderTransition.AbstractTransitionElement(int[], int[], double[], double[])
public BasicHigherOrderTransition.AbstractTransitionElement(int[] context, int[] states, double[] hyperParameters, double[] weight)
context
- the context (=previously visited state indices); last entry corresponds to the last state visitedstates
- the transitions to all possible states; if null
then no transition allowedhyperParameters
- the hyper parameters for the transitions; if null
then no prior is usedweight
- the weight for plotting the edges in Graphviz, enables to modify the edge length, larger weights imply shorter edges (default: 1)public BasicHigherOrderTransition.AbstractTransitionElement(StringBuffer xml) throws NonParsableException
Storable
.
Constructs a BasicHigherOrderTransition.AbstractTransitionElement
out of an XML representation.
xml
- the XML representation as StringBuffer
NonParsableException
- if the BasicHigherOrderTransition.AbstractTransitionElement
could not be reconstructed out of
the StringBuffer
xml
Method Detail |
---|
protected abstract void appendFurtherInformation(StringBuffer xml)
xml
- the XML representationprotected abstract void extractFurtherInformation(StringBuffer xml) throws NonParsableException
xml
- the XML representation
NonParsableException
- if the information could not be reconstructed out of the StringBuffer
xml
protected String getXMLTag()
toXML()
.
toXML()
public StringBuffer toXML()
Storable
StringBuffer
of an
instance of the implementing class.
toXML
in interface Storable
protected void init()
public BasicHigherOrderTransition.AbstractTransitionElement clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
protected void precompute()
logNorm
public void appendGraphvizDescription(StringBuffer representation, NumberFormat nf, String arrowOption, boolean graphical)
representation
- the current Graphviz representationnf
- the NumberFormat
used for the probabilities, if null
no probabilities will we writtenarrowOption
- this parameter gives the possibility to set some arrow optiongraphical
- represent transition probabilities as thickness of edges instead of textual outputTransition.getGraphizNetworkRepresentation(NumberFormat, String, boolean)
,
appendTransitions(StringBuffer, String, NumberFormat, String, boolean)
protected void appendTransitions(StringBuffer representation, String contextNodeRepresentation, NumberFormat nf, String arrowOption, boolean graphical)
representation
- the current Graphviz representationcontextNodeRepresentation
- the String representation of the context node(s)nf
- the NumberFormat
used for the probabilities, if null
no probabilities will we writtenarrowOption
- this parameter gives the possibility to set some arrow optiongraphical
- represent transition probabilities as thickness of edges instead of textual outputappendGraphvizDescription(StringBuffer, NumberFormat, String, boolean)
,
getArrowOption(NumberFormat, double, double, String, boolean)
protected final double getGraphvizEdgeWeight(int s)
s
- the index of the states (child)
protected static String getArrowOption(NumberFormat nf, double prob, double weight, String arrowOption, boolean graphical)
String
that is used in the Graphviz notation to quantify a specific transition.
nf
- the NumberFormat
for formating the probabilityprob
- the probability of a certain transitionweight
- the weight for plotting the edges in Graphviz, enables to modify the edge length, larger weights imply shorter edges (default: 1)arrowOption
- further arrow options (e.g. color, ...)graphical
- represent transition probabilities as thickness of edges instead of textual output
String
that is used in the Graphviz notation to quantify a specific transitionTransition.getGraphizNetworkRepresentation(NumberFormat, String, boolean)
,
appendTransitions(StringBuffer, String, NumberFormat, String, boolean)
public int getChild(int index)
index
- the index of the child
states
public int getDescendant(int index)
index
index
- the child index
descendants
,
setIndexOfDescendantTransitionElement(int, int)
public void setIndexOfDescendantTransitionElement(int index, int descendant)
index
.
index
- the index of the childdescendant
- the index of the descendant transition elementdescendants
,
getDescendant(int)
public int[] getNextContext(int index, int maximalMarkovOrder)
index
.
index
- the index of the childmaximalMarkovOrder
- the maximal Markov order to be used
public double getLogScoreFor(int index, Sequence sequence, int sequencePosition)
index
.
index
- the index of the childsequence
- the sequence, which might be used to retrieve SequenceAnnotation
sequencePosition
- the position within the sequence
index
public double getLogPriorTerm()
Transition.getLogPriorTerm()
public final int getNumberOfChildren()
states
public void addToStatistic(int childIdx, double weight, Sequence sequence, int sequencePosition)
childIdx
- the index of the descendant stateweight
- the weight to be addedsequence
- the sequence, which might be used to retrieve SequenceAnnotation
sequencePosition
- the position within the sequenceTransitionWithSufficientStatistic.addToStatistic(int, int, int, double, Sequence, int)
,
statistic
,
resetStatistic()
,
estimateFromStatistic()
,
drawParametersFromStatistic()
public void joinStatistics(BasicHigherOrderTransition.AbstractTransitionElement... te)
te
- the transition elements to be joinedpublic int getNumberOfParameters()
parameters
public void drawParametersFromStatistic()
statistic
,
resetStatistic()
,
addToStatistic(int, double, Sequence, int)
public void estimateFromStatistic()
statistic
,
resetStatistic()
,
addToStatistic(int, double, Sequence, int)
,
TrainableTransition.estimateFromStatistic()
public void resetStatistic()
statistic
,
estimateFromStatistic()
,
drawParametersFromStatistic()
,
addToStatistic(int, double, Sequence, int)
,
TransitionWithSufficientStatistic.resetStatistic()
public void initializeRandomly()
public double getLogGammaScoreFromStatistic()
public final String toString()
toString
in class Object
public String toString(String[] stateNames)
String
representation of the transition element using the given names of the states.
stateNames
- the names of the states, can be null
String
representation of the transition element using the given names of the statesprotected String getContext(String[] stateNames)
String
representation of the context.
stateNames
- the names of the states, can be null
String
representation of the contexttoString()
,
toString(String[])
protected final String getLabel(String[] stateNames, int stateIdx)
stateNames
- the names of the states, can be null
stateIdx
- the index of the states
toString(String[])
,
getContext(String[])
public void setParameters(BasicHigherOrderTransition.AbstractTransitionElement t) throws IllegalArgumentException
t
- the transition element with the parameters to be set
IllegalArgumentException
- if the assumption about the same class for given and current instance is wrong
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |