|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.fu_berlin.ties.classify.TrainableClassifier
de.fu_berlin.ties.classify.MetaClassifier
class MetaClassifier
A meta classifier combines several layers of classifiers. For each layer (except the last one), there is a "judge" that decides whether or not the decision of this classifier is likely to be correct. If the judge decides that it is likely to be wrong, the next layer is invoked to correct the decision.
Field Summary |
---|
Fields inherited from class de.fu_berlin.ties.classify.TrainableClassifier |
---|
META_CLASSIFIER, MULTI_CLASSIFIER, OAR_CLASSIFIER |
Fields inherited from interface de.fu_berlin.ties.classify.Classifier |
---|
CONFIG_CLASSIFIER |
Constructor Summary | |
---|---|
MetaClassifier(Set<String> allValidClasses,
FeatureTransformer trans,
File runDirectory,
String[] innerSpec,
int layers,
String[] judgeSpec,
TiesConfiguration conf)
Creates a new instance. |
|
MetaClassifier(Set<String> allValidClasses,
FeatureTransformer trans,
File runDirectory,
String[] innerSpec,
TiesConfiguration conf)
Creates a new instance. |
Method Summary | |
---|---|
protected PredictionDistribution |
doClassify(FeatureVector features,
Set candidateClasses,
ContextMap context)
Classifies an item that is represented by a feature vector by choosing the most probable class among a set of candidate classes. |
protected void |
doTrain(FeatureVector features,
String targetClass,
ContextMap context)
Incorporates an item that is represented by a feature vector into the classification model. |
void |
reset()
Resets the classifer, completely deleting the prediction model. |
String |
toString()
Returns a string representation of this object. |
protected boolean |
trainOnErrorHook(PredictionDistribution predDist,
FeatureVector features,
String targetClass,
Set candidateClasses,
ContextMap context)
Subclasses can implement this hook for more refined error-driven learning. |
Methods inherited from class de.fu_berlin.ties.classify.TrainableClassifier |
---|
classify, createClassifier, createClassifier, createClassifier, createClassifier, getAllClasses, getConfig, shouldTrain, toElement, train, trainOnError |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MetaClassifier(Set<String> allValidClasses, FeatureTransformer trans, File runDirectory, String[] innerSpec, TiesConfiguration conf) throws ProcessingException
allValidClasses
- the set of all valid classes; the first member
of this set is considered as the "background" class, all further members
are considered as "foreground" classestrans
- the last transformer in the transformer chain to use, or
null
if no feature transformers should be usedrunDirectory
- optional run directory passed to inner classifiers
of the ExternalClassifier
typeinnerSpec
- the specification used to initialize the inner
classifiers, passed to the
TrainableClassifier.createClassifier(Set, File,
FeatureTransformer, String[], TiesConfiguration)
factory methodconf
- used to configure this instance and the inner classifiers
ProcessingException
- if an error occurred while creating this
classifier or one of the wrapped classifierspublic MetaClassifier(Set<String> allValidClasses, FeatureTransformer trans, File runDirectory, String[] innerSpec, int layers, String[] judgeSpec, TiesConfiguration conf) throws ProcessingException
allValidClasses
- the set of all valid classes; the first member
of this set is considered as the "background" class, all further members
are considered as "foreground" classestrans
- the last transformer in the transformer chain to use, or
null
if no feature transformers should be usedrunDirectory
- optional run directory passed to inner classifiers
of the ExternalClassifier
typeinnerSpec
- the specification used to initialize the inner
classifiers, passed to the
TrainableClassifier.createClassifier(Set, File,
FeatureTransformer, String[], TiesConfiguration)
factory methodlayers
- the number of layers to use, must be at least onejudgeSpec
- the specification used to initialize the judges,
passed to the TrainableClassifier.createClassifier(Set, File,
FeatureTransformer, String[], TiesConfiguration)
factory methodconf
- used to configure this instance as well as the inner
classifiers and judges
ProcessingException
- if an error occurred while creating this
classifier or one of the wrapped classifiersMethod Detail |
---|
protected PredictionDistribution doClassify(FeatureVector features, Set candidateClasses, ContextMap context) throws ProcessingException
doClassify
in class TrainableClassifier
features
- the feature vector to considercandidateClasses
- an set of classes that are allowed for this itemcontext
- can be used to transport implementation-specific
contextual information between the
TrainableClassifier.doClassify(FeatureVector, Set, ContextMap)
,
TrainableClassifier.doTrain(FeatureVector, String, ContextMap)
, and
TrainableClassifier.trainOnErrorHook(PredictionDistribution, FeatureVector, String,
Set, ContextMap)
methods
PredictionDistribution.best()
to get the most probably class
ProcessingException
- if an error occurs during classificationprotected void doTrain(FeatureVector features, String targetClass, ContextMap context) throws ProcessingException
doTrain
in class TrainableClassifier
features
- the feature vector to considertargetClass
- the class of this feature vectorcontext
- can be used to transport implementation-specific
contextual information between the
TrainableClassifier.doClassify(FeatureVector, Set, ContextMap)
,
TrainableClassifier.doTrain(FeatureVector, String, ContextMap)
, and
TrainableClassifier.trainOnErrorHook(PredictionDistribution, FeatureVector, String,
Set, ContextMap)
methods
ProcessingException
- if an error occurs during trainingpublic void reset() throws ProcessingException
reset
in class TrainableClassifier
ProcessingException
- if an error occurs during resetpublic String toString()
toString
in class TrainableClassifier
protected boolean trainOnErrorHook(PredictionDistribution predDist, FeatureVector features, String targetClass, Set candidateClasses, ContextMap context) throws ProcessingException
TrainableClassifier.trainOnError(FeatureVector, String, Set)
method after
classifying. This method can do any necessary training itself and
return true
to signal that no further action is necessary.
This implementation is just a placeholder that always returns
false
.
trainOnErrorHook
in class TrainableClassifier
predDist
- the prediction distribution returned by
TrainableClassifier.classify(FeatureVector, Set)
features
- the feature vector to considertargetClass
- the expected class of this feature vector; must be
contained in the set of candidateClasses
candidateClasses
- an set of classes that are allowed for this item
(the actual targetClass
must be one of them)context
- can be used to transport implementation-specific
contextual information between the
TrainableClassifier.doClassify(FeatureVector, Set, ContextMap)
,
TrainableClassifier.doTrain(FeatureVector, String, ContextMap)
, and
TrainableClassifier.trainOnErrorHook(PredictionDistribution, FeatureVector, String,
Set, ContextMap)
methods
false
; subclasses
can return true
to signal that any error-driven learning was
already handled
ProcessingException
- if an error occurs during training
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |