public class SharedStructureMixture extends MixtureTrainSM
AbstractMixtureTrainSM.Algorithm, AbstractMixtureTrainSM.Parameterizationalgorithm, algorithmHasBeenRun, alternativeModel, best, burnInTest, componentHyperParams, compProb, counter, dimension, estimateComponentProbs, file, filereader, filewriter, initialIteration, logWeights, model, optimizeModel, sample, samplingIndex, seqWeights, sostream, starts, stationaryIteration, weightsalphabets, length| Modifier | Constructor and Description |
|---|---|
protected |
SharedStructureMixture(FSDAGTrainSM[] m,
StructureLearner.ModelType model,
byte order,
int starts,
boolean estimateComponentProbs,
double[] weights,
double alpha,
TerminationCondition tc)
Creates a new
SharedStructureMixture instance with all relevant
values. |
|
SharedStructureMixture(FSDAGTrainSM[] m,
StructureLearner.ModelType model,
byte order,
int starts,
double[] weights,
double alpha,
TerminationCondition tc)
Creates a new
SharedStructureMixture instance with fixed
component weights. |
|
SharedStructureMixture(FSDAGTrainSM[] m,
StructureLearner.ModelType model,
byte order,
int starts,
double alpha,
TerminationCondition tc)
Creates a new
SharedStructureMixture instance which estimates the
component probabilities/weights. |
|
SharedStructureMixture(StringBuffer xml)
The standard constructor for the interface
Storable. |
| Modifier and Type | Method and Description |
|---|---|
SharedStructureMixture |
clone()
Follows the conventions of
Object's clone()-method. |
protected void |
fromXML(StringBuffer representation)
This method should only be used by the constructor that works on a
StringBuffer. |
String |
getInstanceName()
Should return a short instance name such as iMM(0), BN(2), ...
|
protected void |
getNewParameters(int iteration,
double[][] seqWeights,
double[] w)
This method trains the internal models on the internal data set and the
given weights.
|
String |
getStructure()
Returns a
String representation of the structure of the used
models. |
StringBuffer |
toXML()
This method returns an XML representation as
StringBuffer of an
instance of the implementing class. |
doFirstIteration, doFirstIteration, emitDataSetUsingCurrentParameterSet, getLogProbUsingCurrentParameterSetFor, getNewWeights, setTrainData, toStringalgorithmHasBeenRun, checkLength, checkModelsForGibbsSampling, continueIterations, continueIterations, createSeqWeightsArray, doFirstIteration, doFirstIteration, draw, emitDataSet, extendSampling, extractFurtherInformation, finalize, getCharacteristics, getFurtherInformation, getIndexOfMaximalComponentFor, getLogPriorTerm, getLogPriorTermForComponentProbs, getLogProbFor, getLogProbFor, getLogScoreFor, getModel, getModels, getMRG, getMRGParams, getNameOfAlgorithm, getNewComponentProbs, getNewParametersForModel, getNumberOfComponents, getNumericalCharacteristics, getScoreForBestRun, getWeights, initModelForSampling, initWithPrior, isInitialized, isInSamplingMode, iterate, iterate, max, modifyWeights, parseNextParameterSet, parseParameterSet, samplingStopped, setAlpha, setOutputStream, setWeights, swap, traincheck, getAlphabetContainer, getLength, getLogProbFor, getLogProbFor, getLogScoreFor, getLogScoreFor, getLogScoreFor, getLogScoreFor, getMaximalMarkovOrder, toString, trainpublic SharedStructureMixture(FSDAGTrainSM[] m, StructureLearner.ModelType model, byte order, int starts, double alpha, TerminationCondition tc) throws IllegalArgumentException, WrongAlphabetException, CloneNotSupportedException
SharedStructureMixture instance which estimates the
component probabilities/weights.m - the single models building the mixture modelmodel - the type of the modelorder - the order of the modelstarts - the number of times the algorithm will be started in the
train-method, at least 1alpha - the positive parameter for the Dirichlet distribution which is
used when you invoke train to initialize the
gammas, it is recommended to use alpha = 1
(uniform distribution on a simplex)tc - the TerminationCondition for stopping the EM-algorithm,
tc has to return true from TerminationCondition.isSimple()IllegalArgumentException - if
dimension < 1
weights != null && weights.length != dimension
weights != null and it exists an
i where weights[i] < 0
starts < 1
componentHyperParams (hyperparameters for
the component assignment prior) are not correct
WrongAlphabetException - if not all models work on the same alphabetCloneNotSupportedException - if the models can not be clonedStructureLearner.ModelType,
SharedStructureMixture(FSDAGTrainSM[],
de.jstacs.sequenceScores.statisticalModels.trainable.discrete.inhomogeneous.StructureLearner.ModelType, byte, int, boolean, double[], double, TerminationCondition)public SharedStructureMixture(FSDAGTrainSM[] m, StructureLearner.ModelType model, byte order, int starts, double[] weights, double alpha, TerminationCondition tc) throws IllegalArgumentException, WrongAlphabetException, CloneNotSupportedException
SharedStructureMixture instance with fixed
component weights.m - the single models building the mixture modelmodel - the type of the modelorder - the order of the modelstarts - the number of times the algorithm will be started in the
train-method, at least 1weights - null or the weights for the components (then
weights.length == models.length)alpha - the positive parameter for the Dirichlet distribution which is
used when you invoke train to initialize the
gammas, it is recommended to use alpha = 1
(uniform distribution on a simplex)tc - the TerminationCondition for stopping the EM-algorithm,
tc has to return true from TerminationCondition.isSimple()IllegalArgumentException - if
dimension < 1
weights != null && weights.length != dimension
weights != null and it exists an
i where weights[i] < 0
starts < 1
componentHyperParams (hyperparameters for
the component assignment prior) are not correct
WrongAlphabetException - if not all models work on the same alphabetCloneNotSupportedException - if the models can not be clonedStructureLearner.ModelType,
SharedStructureMixture(FSDAGTrainSM[],
de.jstacs.sequenceScores.statisticalModels.trainable.discrete.inhomogeneous.StructureLearner.ModelType, byte, int, boolean, double[], double, TerminationCondition)protected SharedStructureMixture(FSDAGTrainSM[] m, StructureLearner.ModelType model, byte order, int starts, boolean estimateComponentProbs, double[] weights, double alpha, TerminationCondition tc) throws IllegalArgumentException, WrongAlphabetException, CloneNotSupportedException
SharedStructureMixture instance with all relevant
values. This constructor is used by the other main constructors.m - the single models building the mixture modelmodel - the type of the modelorder - the order of the modelstarts - the number of times the algorithm will be started in the
train-method, at least 1estimateComponentProbs - the switch for estimating the component probabilities in the
algorithm or to hold them fixed; if the component parameters
are fixed, the values of weights will be used,
otherwise the componentHyperParams
(hyperparameters for the component assignment prior) will be
incorporated in the adjustmentweights - null or the weights for the components (then
weights.length == models.length)alpha - the positive parameter for the Dirichlet distribution which is
used when you invoke train to initialize the
gammas, it is recommended to use alpha = 1
(uniform distribution on a simplex)tc - the TerminationCondition for stopping the EM-algorithm,
tc has to return true from TerminationCondition.isSimple()IllegalArgumentException - if
dimension < 1
weights != null && weights.length != dimension
weights != null and it exists an
i where weights[i] < 0
starts < 1
componentHyperParams (hyperparameters for
the component assignment prior) are not correct
WrongAlphabetException - if not all models work on the same alphabetCloneNotSupportedException - if the models can not be clonedStructureLearner.ModelType,
MixtureTrainSM.MixtureTrainSM(int,
de.jstacs.sequenceScores.statisticalModels.trainable.TrainableStatisticalModel[],
int, boolean, double[], double[], de.jstacs.sequenceScores.statisticalModels.trainable.mixture.AbstractMixtureTrainSM.Algorithm, double,
TerminationCondition, de.jstacs.sequenceScores.statisticalModels.trainable.mixture.AbstractMixtureTrainSM.Parameterization, int, int, de.jstacs.sampling.BurnInTest)public SharedStructureMixture(StringBuffer xml) throws NonParsableException
Storable.
Creates a new SharedStructureMixture out of its XML
representation.xml - the XML representation as StringBufferNonParsableException - if the SharedStructureMixture could not be
reconstructed out of the XML representation (the
StringBuffer could not be parsed)Storable,
MixtureTrainSM.MixtureTrainSM(StringBuffer)public SharedStructureMixture clone() throws CloneNotSupportedException
AbstractTrainableStatisticalModelObject's clone()-method.clone in interface SequenceScoreclone in interface TrainableStatisticalModelclone in class AbstractMixtureTrainSMAbstractTrainableStatisticalModel
(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
AbstractTrainableStatisticalModel. Hence X's
clone()-method should work as:Object o = (X)super.clone(); o defined by
X that are not of simple data-types like
int, double, ... have to be deeply
copied return oCloneNotSupportedException - if something went wrong while cloningpublic String getStructure() throws NotTrainedException
String representation of the structure of the used
models.String representation of the structure of the used
modelsNotTrainedException - if the classifier is not trained yetFSDAGTrainSM.getStructure()public String getInstanceName()
SequenceScoregetInstanceName in interface SequenceScoregetInstanceName in class AbstractMixtureTrainSMpublic StringBuffer toXML()
StorableStringBuffer of an
instance of the implementing class.toXML in interface StorabletoXML in class AbstractMixtureTrainSMprotected void fromXML(StringBuffer representation) throws NonParsableException
AbstractTrainableStatisticalModelStringBuffer. It is the counter part of Storable.toXML().fromXML in class AbstractMixtureTrainSMrepresentation - the XML representation of the modelNonParsableException - if the StringBuffer is not parsable or the
representation is conflictingAbstractTrainableStatisticalModel.AbstractTrainableStatisticalModel(StringBuffer)protected void getNewParameters(int iteration,
double[][] seqWeights,
double[] w)
throws Exception
AbstractMixtureTrainSMgetNewParameters in class AbstractMixtureTrainSMiteration - the number of times this method has been invokedseqWeights - the weights for each model and sequencew - the weights for the componentsException - if the training of the internal models went wrong