com.rapidminer.operator.features.construction
Class DirectedGGA
java.lang.Object
com.rapidminer.operator.Operator
com.rapidminer.operator.OperatorChain
com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
com.rapidminer.operator.features.construction.YAGGA
com.rapidminer.operator.features.construction.YAGGA2
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:
- Probability p/4: Add a newly generated attribute to the
feature vector
- Probability p/4: Add a randomly chosen original attribute
to the feature vector
- Probability p/2: Remove a randomly chosen attribute from
the feature vector
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.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 |
| 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 |
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
DirectedGGA
public DirectedGGA(OperatorDescription description)
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