com.rapidminer.operator.features.construction
Class DirectedGGA

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.OperatorChain
          extended by com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
              extended by com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
                  extended by com.rapidminer.operator.features.construction.YAGGA
                      extended by com.rapidminer.operator.features.construction.YAGGA2
                          extended by com.rapidminer.operator.features.construction.DirectedGGA
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class DirectedGGA
extends YAGGA2

DirectedGGA is an acronym for a Generating Genetic Algorithm which uses probability directed search heuristics to select attributes for generation or removing. Its approach to generating new attributes differs from the original one and is the same as the one of YAGGA.
The (generating) mutation can do one of the following things with different probabilities:

Thus it is guaranteed that the length of the feature vector can both grow and shrink. On average it will keep its original length, unless longer or shorter individuals prove to have a better fitness.
In addition to these mutation heuristics probablilities based on the weights of the attributes are calculated. It is more likely for attributes with a great weight to be selected for generating new attributes. On the other hand the probability for removing an attribute from the example set will decrease for attributes with great weights. This decreases the amount of needed generations drastically.
Another enhancement in comparison to the original GGA is the addition of several generators like the ones for trigonometric or exponential functions. In this way a sinple linear working learning scheme which can deliver weights can be used as inner operator. If this learner can also estimate its performance it is not longer necessary to use a inner cross-validation which also decreases learning time. Such a learner is for example the JMySVMLearner which delivers the xi-alpha performance estimation at least for classification tasks.
. Summarized the advantages of this feature construction algorithm are smaller runtimes and smaller attribute sets as result. These attribute sets increase performance and can be used to explain the models of more complex learning schemes like SVMs. The additional generators allow the construction of features which are not possible by the known kernel functions.
Since this operator does not contain algorithms to extract features from value series, it is restricted to example sets with only single attributes. For (automatic) feature extraction from values series the value series plugin for RapidMiner written by Ingo Mierswa should be used. It is available at http://rapid-i.com.

Author:
Ingo Mierswa

Field Summary
static java.lang.String PARAMETER_MAX_GENERATED
          The parameter name for "The maximum number of generated attributes per generation.
static java.lang.String PARAMETER_MAX_ORIGINAL
          The parameter name for "The maximum number of original attributes added per generation.
 
Fields inherited from class com.rapidminer.operator.features.construction.YAGGA2
PARAMETER_ASSOCIATIVE_ATTRIBUTE_MERGING, PARAMETER_CONSTANT_GENERATION_PROB, PARAMETER_EQUIVALENCE_EPSILON, PARAMETER_EQUIVALENCE_SAMPLES, PARAMETER_EQUIVALENCE_USE_STATISTICS, PARAMETER_REMOVE_EQUIVALENT, PARAMETER_REMOVE_USELESS, PARAMETER_RESTRICTIVE_SELECTION, PARAMETER_UNUSED_FUNCTIONS, PARAMETER_USE_ABSOLUTE_VALUES, PARAMETER_USE_ATAN, PARAMETER_USE_COS, PARAMETER_USE_EXP, PARAMETER_USE_FLOOR_CEIL_FUNCTIONS, PARAMETER_USE_LOG, PARAMETER_USE_MAX, PARAMETER_USE_MIN, PARAMETER_USE_POWER_FUNCTIONS, PARAMETER_USE_SGN, PARAMETER_USE_SIN, PARAMETER_USE_SQUARE_ROOTS, PARAMETER_USE_TAN
 
Fields inherited from class com.rapidminer.operator.features.construction.YAGGA
PARAMETER_MAX_TOTAL_NUMBER_OF_ATTRIBUTES, PARAMETER_P_MUTATION
 
Fields inherited from class com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
BOLTZMANN_SELECTION, CUT_SELECTION, NON_DOMINATED_SORTING_SELECTION, PARAMETER_CROSSOVER_TYPE, PARAMETER_DYNAMIC_SELECTION_PRESSURE, PARAMETER_GENERATIONS_WITHOUT_IMPROVAL, PARAMETER_KEEP_BEST_INDIVIDUAL, PARAMETER_MAXIMUM_NUMBER_OF_GENERATIONS, PARAMETER_P_CROSSOVER, PARAMETER_P_INITIALIZE, PARAMETER_POPULATION_SIZE, PARAMETER_RECIPROCAL_VALUE, PARAMETER_START_TEMPERATURE, PARAMETER_TOURNAMENT_SIZE, PARAMETER_USE_DIFF, PARAMETER_USE_DIV, PARAMETER_USE_MULT, PARAMETER_USE_PLUS, RANK_SELECTION, ROULETTE_WHEEL, SELECTION_SCHEMES, STOCHASTIC_UNIVERSAL, TOURNAMENT_SELECTION, UNIFORM_SELECTION
 
Fields inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
PARAMETER_LOCAL_RANDOM_SEED, PARAMETER_MAXIMAL_FITNESS, PARAMETER_SHOW_STOP_DIALOG
 
Constructor Summary
DirectedGGA(OperatorDescription description)
           
 
Method Summary
protected  ExampleSetBasedPopulationOperator getMutationPopulationOperator(ExampleSet eSet)
          Returns the DirectedGeneratingMutation.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class com.rapidminer.operator.features.construction.YAGGA2
apply, getGenerators, getPreProcessingPopulationOperators
 
Methods inherited from class com.rapidminer.operator.features.construction.YAGGA
createInitialPopulation, getGeneratingPopulationOperator
 
Methods inherited from class com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
getCrossoverPopulationOperator, getPostEvaluationPopulationOperators, getPostProcessingPopulationOperators, getPreEvaluationPopulationOperators, solutionGoodEnough
 
Methods inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
evaluate, evaluate, getCheckForMaximum, getInnerOperatorCondition, getInputClasses, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getOutputClasses, getPopulation, getRandom, setCheckForMaximum
 
Methods inherited from class com.rapidminer.operator.OperatorChain
addAddListener, addOperator, addOperator, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createProcessTree, getAllInnerOperators, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, performAdditionalChecks, processFinished, processStarts, registerOperator, removeAddListener, removeOperator, shouldAddNonConsumedInput, shouldReturnInnerOutput, unregisterOperator
 
Methods inherited from class com.rapidminer.operator.Operator
addError, addValue, addWarning, apply, checkForStop, createExperimentTree, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getEncoding, getErrorList, getExperiment, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getIODescription, getLog, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getProcess, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isEnabled, isExpanded, isParallel, isParameterSet, log, logError, logNote, logWarning, register, remove, rename, resume, setApplyCount, setBreakpoint, setEnabled, setExpanded, 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

PARAMETER_MAX_GENERATED

public static final java.lang.String PARAMETER_MAX_GENERATED
The parameter name for "The maximum number of generated attributes per generation."

See Also:
Constant Field Values

PARAMETER_MAX_ORIGINAL

public static final java.lang.String PARAMETER_MAX_ORIGINAL
The parameter name for "The maximum number of original attributes added per generation."

See Also:
Constant Field Values
Constructor Detail

DirectedGGA

public DirectedGGA(OperatorDescription description)
Method Detail

getMutationPopulationOperator

protected ExampleSetBasedPopulationOperator getMutationPopulationOperator(ExampleSet eSet)
                                                                   throws OperatorException
Returns the DirectedGeneratingMutation.

Overrides:
getMutationPopulationOperator in class YAGGA2
Throws:
OperatorException

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.

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class YAGGA2


Copyright © 2001-2009 by Rapid-I