|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcalhoun.analysis.crf.solver.MaximumLikelihoodSemiMarkovGradient
public class MaximumLikelihoodSemiMarkovGradient
computes the likelihood of the true path for a semi-Markov CRF. The likelihood is normalized to a per label likelihood.
maxIters = 1 and requireConvergence = false in your optimizer
to do only a single training iteration, possibly setting the starts to some predetermined value. Each of these
properties can be configured with a filename and each time apply(double[], double[]) is called, the file will be overwritten with
data from the current call. The logging options are:
alphaFile - computation of alpha values for Markov states, includes all nodes and edges.
alphaLengthFile - computation of alpha values for semi-Markov states , includes all segments
expectFile - computation of expected values for each Markov feature
expectLengthFile - computation of expected values for each semi-Markov feature
nodeMarginalFile - computation of marginal probability of each state at each position
| Constructor Summary | |
|---|---|
MaximumLikelihoodSemiMarkovGradient()
|
|
| Method Summary | |
|---|---|
double |
apply(double[] param,
double[] grad)
computes the objective function value and the gradient. |
void |
clean()
Frees resources allocated by setTrainingData |
java.lang.String |
getAlphaFile()
|
java.lang.String |
getAlphaLengthFile()
|
java.lang.String |
getBetaLengthFile()
|
CacheProcessor |
getCacheProcessor()
gets the cache processor used to access feature evaluations |
java.lang.String |
getExpectFile()
|
java.lang.String |
getExpectLengthFile()
|
double[] |
getFeatureSums()
|
java.lang.String |
getNodeMarginalFile()
|
static java.lang.String |
printNorm(double value,
int norm)
|
void |
setAlphaFile(java.lang.String alphaFile)
|
void |
setAlphaLengthFile(java.lang.String alphaLengthFile)
|
void |
setBetaLengthFile(java.lang.String betaLengthFile)
|
void |
setCacheProcessor(CacheProcessor cacheProcessor)
sets the cache processor used to access feature evaluations |
void |
setExpectFile(java.lang.String expectFile)
|
void |
setExpectLengthFile(java.lang.String expectLengthFile)
|
void |
setNodeMarginalFile(java.lang.String nodeMarginalFile)
|
void |
setTrainingData(ModelManager fm,
java.util.List<? extends TrainingSequence<?>> data)
sets the training data that will be used for evaluation of the objective function. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public MaximumLikelihoodSemiMarkovGradient()
| Method Detail |
|---|
public void setTrainingData(ModelManager fm,
java.util.List<? extends TrainingSequence<?>> data)
CRFObjectiveFunctionGradientapply
is called to set up the training data. Since it is expected that apply will be called many times, this funtion is
the place to do one time setup and caching.
setTrainingData in interface CRFObjectiveFunctionGradientfm - the model to use. Defines the hidden states, transitions, and features.data - the training sequences on which to calculate the objective function.
public double apply(double[] param,
double[] grad)
CRFObjectiveFunctionGradient
apply in interface CRFObjectiveFunctionGradientparam - an array of feature weights to use. The length will equal the number of features in the model, and the values will change
for each call to apply.grad - an array which must be filled with the gradient vector when the function returns. For each feature index, the array should contain an
entry with the partial derivative with respect to that feature.
public void clean()
CRFObjectiveFunctionGradient
clean in interface CRFObjectiveFunctionGradient
public static final java.lang.String printNorm(double value,
int norm)
public CacheProcessor getCacheProcessor()
public void setCacheProcessor(CacheProcessor cacheProcessor)
cacheProcessor - the cache processor to usepublic java.lang.String getAlphaLengthFile()
public void setAlphaLengthFile(java.lang.String alphaLengthFile)
public java.lang.String getAlphaFile()
public void setAlphaFile(java.lang.String alphaFile)
public java.lang.String getExpectFile()
public void setExpectFile(java.lang.String expectFile)
public java.lang.String getExpectLengthFile()
public void setExpectLengthFile(java.lang.String expectLengthFile)
public java.lang.String getNodeMarginalFile()
public void setNodeMarginalFile(java.lang.String nodeMarginalFile)
public java.lang.String getBetaLengthFile()
public void setBetaLengthFile(java.lang.String betaLengthFile)
public double[] getFeatureSums()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||