public class IsingFactorGraph
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.util.List<BinaryFactor> |
binaryFactors |
protected java.util.List<java.lang.Integer> |
golden |
protected int |
numParameters |
protected UnaryFeatureExtractor |
ufe |
protected java.util.List<UnaryFactor> |
unaryFactors |
protected java.util.List<Variable> |
variables |
| Constructor and Description |
|---|
IsingFactorGraph(int numVariables2,
java.util.List<org.javatuples.Pair<java.lang.Integer,java.lang.Integer>> pairs,
java.util.List<java.lang.Integer> golden2,
java.util.List<java.lang.String> tagNames) |
IsingFactorGraph(java.lang.String word,
UnaryFeatureExtractor ufe,
int inferenceIterations,
int numVariables,
java.util.List<org.javatuples.Pair<java.lang.Integer,java.lang.Integer>> pairwise,
java.util.List<java.lang.Integer> golden,
java.util.List<java.lang.String> tagNames) |
| Modifier and Type | Method and Description |
|---|---|
double |
approximateZ()
Returns an approximate partition function.
|
double |
betheFreeEnergy() |
void |
featurizedGradient(double[] gradient,
int numData) |
double[] |
finiteDifference(double[] parameters,
double epsilon)
Finite Difference Results
|
java.util.List<UnaryFactor> |
getUnaryFactor() |
java.util.List<Variable> |
getVariables() |
java.lang.String |
getWord() |
void |
inference(int maxIterNum,
double convergence)
Performs inference by belief propagation
|
double[][] |
inferenceBruteForce()
Brute force inference for the Ising factor graph
|
double |
logLikelihood() |
java.util.List<java.lang.String> |
posteriorDecode()
Returns the most probable configuration under Hamming loss
|
void |
setWord(java.lang.String word) |
double[] |
unfeaturizedGradient() |
void |
updatePotentials(double[] parameters) |
void |
updatePotentials2(double[] parameters) |
java.util.List<java.lang.String> |
viterbiDecode()
Returns the most probable configuration under 0/1 loss
|
protected java.util.List<Variable> variables
protected java.util.List<UnaryFactor> unaryFactors
protected java.util.List<BinaryFactor> binaryFactors
protected java.util.List<java.lang.Integer> golden
protected int numParameters
protected UnaryFeatureExtractor ufe
public IsingFactorGraph(java.lang.String word,
UnaryFeatureExtractor ufe,
int inferenceIterations,
int numVariables,
java.util.List<org.javatuples.Pair<java.lang.Integer,java.lang.Integer>> pairwise,
java.util.List<java.lang.Integer> golden,
java.util.List<java.lang.String> tagNames)
public IsingFactorGraph(int numVariables2,
java.util.List<org.javatuples.Pair<java.lang.Integer,java.lang.Integer>> pairs,
java.util.List<java.lang.Integer> golden2,
java.util.List<java.lang.String> tagNames)
public double[][] inferenceBruteForce()
public double betheFreeEnergy()
public double approximateZ()
public void inference(int maxIterNum,
double convergence)
maxIterNum - convergence - public java.util.List<java.lang.String> viterbiDecode()
public java.util.List<java.lang.String> posteriorDecode()
public double logLikelihood()
public double[] finiteDifference(double[] parameters,
double epsilon)
public void updatePotentials2(double[] parameters)
public void updatePotentials(double[] parameters)
public void featurizedGradient(double[] gradient,
int numData)
public double[] unfeaturizedGradient()
public java.lang.String getWord()
public void setWord(java.lang.String word)
public java.util.List<Variable> getVariables()
public java.util.List<UnaryFactor> getUnaryFactor()