edu.udo.cs.yale.operator.meta
Class QuadraticParameterOptimizationOperator

java.lang.Object
  extended by edu.udo.cs.yale.operator.Operator
      extended by edu.udo.cs.yale.operator.OperatorChain
          extended by edu.udo.cs.yale.operator.meta.ParameterOptimizationOperator
              extended by edu.udo.cs.yale.operator.meta.GridSearchParameterOptimizationOperator
                  extended by edu.udo.cs.yale.operator.meta.QuadraticParameterOptimizationOperator
All Implemented Interfaces:
ConfigurationListener

public class QuadraticParameterOptimizationOperator
extends GridSearchParameterOptimizationOperator

This operator finds the optimal values for a set of parameters using a quadratic interaction model. The parameter parameters is a list of key value pairs where the keys are of the form OperatorName.parameter_name and the value is a comma separated list of values (as for the GridParameterOptimization operator).
The operator returns an optimal ParameterSet which can as well be written to a file with a ParameterSetLoader. This parameter set can be read in another experiment using an ParameterSetLoader.
The file format of the parameter set file is straightforward and can also easily be generated by external applications. Each line is of the form

operator_name.parameter_name = value
.

Version:
$Id: QuadraticParameterOptimizationOperator.java,v 1.11 2006/04/05 08:57:26 ingomierswa Exp $
Author:
Stefan Rueping, Helge Homburg

Field Summary
private  ParameterSet best
           
private static int CLIP
           
private static java.lang.String[] EXCEED_BEHAVIORS
           
private static int FAIL
           
private static int IGNORE
           
 
Fields inherited from class edu.udo.cs.yale.operator.meta.GridSearchParameterOptimizationOperator
currentIndex, numberOfCombinations, operators, parameterList, parameters, values
 
Constructor Summary
QuadraticParameterOptimizationOperator(OperatorDescription description)
           
 
Method Summary
 IOObject[] apply()
          Applies all inner operators.
 double getCurrentBestPerformance()
           
 int getNumberOfSteps()
          Returns the number of steps performed by this chain.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class edu.udo.cs.yale.operator.meta.GridSearchParameterOptimizationOperator
getParametersToOptimize
 
Methods inherited from class edu.udo.cs.yale.operator.meta.ParameterOptimizationOperator
getInnerOperatorCondition, getInputClasses, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getOutputClasses, getPerformance
 
Methods inherited from class edu.udo.cs.yale.operator.OperatorChain
addAddListener, addOperator, addOperator, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, clearStepCounter, cloneOperator, countStep, createExperimentTree, delete, experimentFinished, experimentStarts, getAllInnerOperators, getCurrentStep, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfChildrensSteps, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, isEnabled, performAdditionalChecks, removeAddListener, removeOperator, setEnabled, setExperiment, shouldReturnInnerOutput
 
Methods inherited from class edu.udo.cs.yale.operator.Operator
addError, addValue, addWarning, apply, createExperimentTree, createFromXML, createMarkedExperimentTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getErrorList, getExperiment, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsInt, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isParameterSet, logMessage, register, remove, rename, resume, setBreakpoint, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EXCEED_BEHAVIORS

private static final java.lang.String[] EXCEED_BEHAVIORS

IGNORE

private static final int IGNORE
See Also:
Constant Field Values

CLIP

private static final int CLIP
See Also:
Constant Field Values

FAIL

private static final int FAIL
See Also:
Constant Field Values

best

private ParameterSet best
Constructor Detail

QuadraticParameterOptimizationOperator

public QuadraticParameterOptimizationOperator(OperatorDescription description)
Method Detail

getCurrentBestPerformance

public double getCurrentBestPerformance()
Overrides:
getCurrentBestPerformance in class GridSearchParameterOptimizationOperator

apply

public IOObject[] apply()
                 throws OperatorException
Description copied from class: OperatorChain
Applies all inner operators. The input to this operator becomes the input of the first inner operator. The latter's output is passed to the second inner operator and so on. Note to subclassers: If subclasses (for example wrappers) want to make use of this method remember to call exactly this method (super.apply()) and do not call super.apply(IOContainer) erroneously which will result in an infinite loop. Subclasses who override this method without invoking super.apply() should at least invoke the method OperatorChain.clearStepCounter().

Overrides:
apply in class GridSearchParameterOptimizationOperator
Returns:
the last inner operator's output or the input itself if the chain is empty.
Throws:
OperatorException


getNumberOfSteps

public int getNumberOfSteps()
Description copied from class: OperatorChain
Returns the number of steps performed by this chain.

Overrides:
getNumberOfSteps in class ParameterOptimizationOperator


getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed.

Overrides:
getParameterTypes in class ParameterOptimizationOperator



Copyright © 2001-2006