cc.mallet.classify.constraints.ge
Class MaxEntFLGEConstraints

java.lang.Object
  extended by cc.mallet.classify.constraints.ge.MaxEntFLGEConstraints
All Implemented Interfaces:
MaxEntGEConstraint
Direct Known Subclasses:
MaxEntKLFLGEConstraints, MaxEntL2FLGEConstraints

public abstract class MaxEntFLGEConstraints
extends java.lang.Object
implements MaxEntGEConstraint

Abstract expectation constraint for use with Generalized Expectation (GE).

Author:
Gregory Druck

Nested Class Summary
protected  class MaxEntFLGEConstraints.MaxEntFLGEConstraint
           
 
Field Summary
protected  gnu.trove.TIntObjectHashMap<MaxEntFLGEConstraints.MaxEntFLGEConstraint> constraints
           
protected  gnu.trove.TIntArrayList indexCache
           
protected  int numFeatures
           
protected  int numLabels
           
protected  boolean useValues
           
protected  gnu.trove.TDoubleArrayList valueCache
           
 
Constructor Summary
MaxEntFLGEConstraints(int numFeatures, int numLabels, boolean useValues)
           
 
Method Summary
abstract  void addConstraint(int fi, double[] ex, double weight)
           
 void computeExpectations(FeatureVector input, double[] dist, double weight)
          Compute expectations using provided distribution over labels.
 double getCompositeConstraintFeatureValue(FeatureVector input, int label)
          Computes the composite constraint feature value (over all constraint features) for FeatureVector fv and label label.
 void preProcess(FeatureVector input)
          Gives the constraint the option to do some caching using only the FeatureVector.
 java.util.BitSet preProcess(InstanceList data)
           
 void zeroExpectations()
          Zero expectation values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface cc.mallet.classify.constraints.ge.MaxEntGEConstraint
getValue
 

Field Detail

useValues

protected boolean useValues

numLabels

protected int numLabels

numFeatures

protected int numFeatures

constraints

protected gnu.trove.TIntObjectHashMap<MaxEntFLGEConstraints.MaxEntFLGEConstraint> constraints

indexCache

protected gnu.trove.TIntArrayList indexCache

valueCache

protected gnu.trove.TDoubleArrayList valueCache
Constructor Detail

MaxEntFLGEConstraints

public MaxEntFLGEConstraints(int numFeatures,
                             int numLabels,
                             boolean useValues)
Method Detail

addConstraint

public abstract void addConstraint(int fi,
                                   double[] ex,
                                   double weight)

getCompositeConstraintFeatureValue

public double getCompositeConstraintFeatureValue(FeatureVector input,
                                                 int label)
Description copied from interface: MaxEntGEConstraint
Computes the composite constraint feature value (over all constraint features) for FeatureVector fv and label label.

Specified by:
getCompositeConstraintFeatureValue in interface MaxEntGEConstraint
Parameters:
input - input FeatureVector
label - output label index
Returns:
Constraint feature value

computeExpectations

public void computeExpectations(FeatureVector input,
                                double[] dist,
                                double weight)
Description copied from interface: MaxEntGEConstraint
Compute expectations using provided distribution over labels.

Specified by:
computeExpectations in interface MaxEntGEConstraint
Parameters:
input - FeatureVector
dist - Distribution over labels

zeroExpectations

public void zeroExpectations()
Description copied from interface: MaxEntGEConstraint
Zero expectation values. Called before re-computing gradient.

Specified by:
zeroExpectations in interface MaxEntGEConstraint

preProcess

public java.util.BitSet preProcess(InstanceList data)
Specified by:
preProcess in interface MaxEntGEConstraint
Parameters:
data - Unlabeled data
Returns:
Returns a bitset of the size of the data, with the bit set if a constraint feature fires in that instance.

preProcess

public void preProcess(FeatureVector input)
Description copied from interface: MaxEntGEConstraint
Gives the constraint the option to do some caching using only the FeatureVector. For example, the constrained input features could be cached.

Specified by:
preProcess in interface MaxEntGEConstraint
Parameters:
input - FeatureVector input