|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jstacs.scoringFunctions.directedGraphicalModels.ParameterTree
public class ParameterTree
Class for the tree that represents the context of a Parameter
in a BayesianNetworkScoringFunction
.
Constructor Summary | |
---|---|
ParameterTree(int pos,
int[] contextPoss,
AlphabetContainer alphabet,
int firstParent,
int[] firstChildren)
Creates a new ParameterTree for the parameters at position pos using the parent positions in contextPoss . |
|
ParameterTree(StringBuffer source,
AlphabetContainer alphabet)
Re-creates a ParameterTree from its XML-representation as returned by toXML() . |
Method Summary | |
---|---|
void |
addCount(Sequence seq,
int start,
double count)
Adds count to the parameter as returned by getParameterFor(Sequence, int) . |
void |
backward(ParameterTree[] trees,
int[][] order)
Starts the computation of the backward-part of the normalization constant starting from this ParameterTree . |
ParameterTree |
clone()
|
Double |
computeGammaNorm()
Computes the Gamma-normalization for the prior |
void |
copy(ParameterTree parameterTree)
Copies the values of the parameters from another ParameterTree |
void |
divideByUnfree()
Divides each of the normalized parameters on a simplex by the last parameter, which is defined not to be free. |
void |
fill(double[] fillEmptyWith)
Fills all parameters with the probabilities given in fillEmptyWith . |
double |
forward(ParameterTree[] trees)
Computes the forward-part of the normalization constant starting from this ParameterTree . |
static ParameterTree[] |
fromStringArray(String[] strs,
AlphabetContainer alphabet)
Re-creates an array of ParameterTree s from their XML-representation as given in strs . |
int |
getFirstParent()
Returns the first parent of the random variable of this ParameterTree in the topological ordering
of the network structure of the enclosing BayesianNetworkScoringFunction . |
double |
getKLDivergence(double[] q)
Returns the KL-divergence of the parameters of a PWM to the reference distribution q . |
int |
getNumberOfParents()
Returns the number of parents for the random variable of this ParameterTree in the network structure of the enclosing BayesianNetworkScoringFunction . |
Parameter |
getParameterFor(Sequence seq,
int start)
Returns the Parameter that is responsible for the suffix of sequence seq starting at position start . |
void |
initializeRandomly(double ess)
Initializes the parameters of this ParameterTree randomly |
void |
insertProbs(double[] probs)
Computes the probabilities for a PWM, i.e. the parameters in the tree have an empty context, and inserts them into probs . |
void |
invalidateNormalizers()
Resets all pre-computed normalization constants. |
boolean |
isLeaf()
Returns true if the random variable of this ParameterTree is a leaf, i.e. it has no children in the network structure of the
enclosing BayesianNetworkScoringFunction . |
LinkedList<Parameter> |
linearizeParameters()
Extracts the Parameter s from the leaves of this tree in left-to-right order (as specified by the order of the alphabet) and returns them as a LinkedList . |
void |
normalizePlugInParameters()
Starts the normalization of the plug in parameters to the log of the MAP-estimates. |
void |
print()
Prints the structure of this tree. |
void |
setParameterFor(int symbol,
int[][] context,
Parameter par)
Sets the instance of the parameter for symbol symbol and context context to parameter par . |
String |
toString()
|
static String[] |
toStringArray(ParameterTree[] trees)
Creates a String array from the XML-representation of all ParameterTree s in trees as returned by the
corresponding toXML() methods. |
StringBuffer |
toXML()
Works as defined in Storable . |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ParameterTree(int pos, int[] contextPoss, AlphabetContainer alphabet, int firstParent, int[] firstChildren)
ParameterTree
for the parameters at position pos
using the parent positions in contextPoss
.
These are used the extract the correct alphabet out of alphabet
for every context position. The first parent is the first parent of the random variable
at pos
as given by the topological ordering of the network structure of the enclosing BayesianNetworkScoringFunction
. The first children
are the children the random variable at pos
is the first parent for.
pos
- the position of the random variable of the parameters in the treecontextPoss
- the positions of the contextalphabet
- the alphabet of the enclosing BayesianNetworkScoringFunction
firstParent
- the first parent of this random variable, or -1
if the random variable has no parentfirstChildren
- the first children of this random variablepublic ParameterTree(StringBuffer source, AlphabetContainer alphabet) throws NonParsableException
ParameterTree
from its XML-representation as returned by toXML()
. ParameterTree
does not
implement the Storable
interface to recycle the AlphabetContainer
of the enclosing BayesianNetworkScoringFunction
, but besides the
different constructor works like any implementation of Storable
.
source
- the XML-representationalphabet
- the alphabet
NonParsableException
- is thrown if the XML-code could not be parsedMethod Detail |
---|
public ParameterTree clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
public String toString()
toString
in class Object
public void insertProbs(double[] probs) throws Exception
probs
. Used by BayesianNetworkScoringFunction.getPWM()
.
probs
- the array to store the probabilities
Exception
- is thrown if the tree structure does have a non-empty contextpublic LinkedList<Parameter> linearizeParameters()
Parameter
s from the leaves of this tree in left-to-right order (as specified by the order of the alphabet) and returns them as a LinkedList
.
Parameter
s in linear orderpublic boolean isLeaf()
ParameterTree
is a leaf, i.e. it has no children in the network structure of the
enclosing BayesianNetworkScoringFunction
.
public int getNumberOfParents()
ParameterTree
in the network structure of the enclosing BayesianNetworkScoringFunction
.
This corresponds to the length of the context or the depth of the tree.
public void print()
public Parameter getParameterFor(Sequence seq, int start)
Parameter
that is responsible for the suffix of sequence seq
starting at position start
.
seq
- the sequencestart
- the first position in the suffix
public void setParameterFor(int symbol, int[][] context, Parameter par)
symbol
and context context
to parameter par
.
symbol
- the symbolcontext
- the contextpar
- the new Parameter
instancepublic void invalidateNormalizers()
public double forward(ParameterTree[] trees) throws RuntimeException
ParameterTree
. This is only possible for roots, i.e.
ParameterTree
s that do not have parents in the network structure of the enclosing BayesianNetworkScoringFunction
.
trees
- the array of all trees as from the enclosing BayesianNetworkScoringFunction
RuntimeException
- is thrown if this ParameterTree
is not a rootpublic void backward(ParameterTree[] trees, int[][] order) throws RuntimeException
ParameterTree
. This is only possible for leaves, i.e.
ParameterTree
s that do not have children in the network structure of the enclosing BayesianNetworkScoringFunction
.
trees
- the array of all trees as from the enclosing BayesianNetworkScoringFunction
order
- the topological ordering as returned by TopSort.getTopologicalOrder(int[][])
RuntimeException
- is thrown if this ParameterTree
is not a leafpublic void addCount(Sequence seq, int start, double count)
count
to the parameter as returned by getParameterFor(Sequence, int)
.
seq
- the sequencestart
- the first position of the suffix of seq
count
- the added countpublic void normalizePlugInParameters()
public void divideByUnfree()
public StringBuffer toXML()
Storable
.
public static String[] toStringArray(ParameterTree[] trees)
String
array from the XML-representation of all ParameterTree
s in trees
as returned by the
corresponding toXML()
methods.
trees
- the trees
String
arraypublic static ParameterTree[] fromStringArray(String[] strs, AlphabetContainer alphabet) throws NonParsableException
ParameterTree
s from their XML-representation as given in strs
.
strs
- the XML-representations as returned by toStringArray(ParameterTree[])
alphabet
- the alphabet of the enclosing BayesianNetworkScoringFunction
ParameterTree
s
NonParsableException
- is thrown if one of the XML-representations could not be parsedpublic int getFirstParent()
ParameterTree
in the topological ordering
of the network structure of the enclosing BayesianNetworkScoringFunction
.
public double getKLDivergence(double[] q)
q
.
q
- the reference
public void fill(double[] fillEmptyWith)
fillEmptyWith
.
fillEmptyWith
- the replacementpublic void copy(ParameterTree parameterTree)
ParameterTree
parameterTree
- the templatepublic void initializeRandomly(double ess)
ParameterTree
randomly
ess
- the equivalent sample sizepublic Double computeGammaNorm()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |