Skip to main content

Optimize by Generation (GGA)

Synopsis

This operator may select some attributes from the original attribute set and it may also generate new attributes from the original attribute set. GGA (Generating Genetic Algorithm) does not change the original number of attributes unless adding or removing (or both) attributes prove to have a better fitness.

Description

Sometimes the selection of features alone is not sufficient. In these cases other transformations of the feature space must be performed. The generation of new attributes from the given attributes extends the feature space. Maybe a hypothesis can be easily found in the extended feature space. This operator can be considered to be a blend of attribute selection and attribute generation procedures. It may select some attributes from the original set of attributes and it may also generate new attributes from the original attributes.

A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover. For studying the basic algorithm of a genetic algorithm please study the description of theOptimize Selection (Evolutionary)operator.

In contrast to the simple Genetic Algorithm, the Generating Genetic Algorithm generates new attributes and thus can change the length of an individual. Therefore specialized mutation and crossover operators are being applied. Generators are chosen at random from a list of generators specified by boolean parameters. This operator is a nested operator i.e. it has a subprocess. The subprocess must return a performance vector. You need to have basic understanding of subprocesses in order to apply this operator. Please study the documentation of theSubprocessoperator for basic understanding of subprocesses.

Input

example set in

This input port expects an ExampleSet. This ExampleSet is available at the first port of the nested chain (inside the subprocess) for processing in the subprocess.

Output

example set out

The genetic algorithm is applied on the input ExampleSet. The resultant ExampleSet is delivered through this port.

attribute weights out

The attribute weights are delivered through this port.

performance out

This port delivers the Performance Vector for the selected attributes. A Performance Vector is a list of performance criteria values.

Parameters

Max number of new attributes

This parameter specifies the maximum number of attributes to generate for an individual in one generation.

Limit max total number of attributes

This parameter indicates if the total number of attributes in all generations should be limited. If set to true, the maximum number is specified by themax total number of attributesparameter.

Max total number of attributes

This parameter is only available when thelimit max total number of attributesparameter is set to true. This parameter specifies the maximum total number of attributes in all generations.

Use local random seed

This parameter indicates if alocal random seedshould be used for randomization. Using the same value oflocal random seedwill produce the same randomization.

Local random seed

This parameter specifies thelocal random seed. This parameter is only available if theuse local random seedparameter is set to true.

Show stop dialog

This parameter determines if a dialog with astop应该显示按钮,停止搜索for the best feature space. If the search for best feature space is stopped, the best individual found till then will be returned.

Maximal fitness

This parameter specifies the maximal fitness. The optimization will stop if the fitness reaches this value.

Population size

This parameter specifies the population size i.e. the number of individuals per generation.

Maximum number of generations

This parameter specifies the number of generations after which the algorithm should be terminated.

Use plus

This parameter indicates if the summation function should be applied for a generation of new attributes.

Use diff

This parameter indicates if the difference function should be applied for a generation of new attributes.

Use mult

This parameter indicates if the multiplication function should be applied for a generation of new attributes.

Use div

This parameter indicates if the division function should be applied for a generation of new attributes.

Reciprocal value

This parameter indicates if the reciprocal function should be applied for a generation of new attributes.

Use early stopping

This parameter enables early stopping. If not set to true, always the maximum number of generations are performed.

Generations without improval

This parameter is only available when theuse early stoppingparameter is set to true. This parameter specifies the stop criterion for early stopping i.e. it stops afterngenerations without improvement in the performance.nis specified by this parameter.

Tournament size

This parameter specifies the fraction of the current population which should be used as tournament members.

Start temperature

This parameter specifies the scaling temperature.

Dynamic selection pressure

If this parameter is set to true, the selection pressure is increased to maximum during the complete optimization run.

Keep best individual

If set to true, the best individual of each generation is guaranteed to be selected for the next generation.

P initialize

The initial probability for an attribute to be switched on is specified by this parameter.

P crossover

The probability for an individual to be selected for crossover is specified by this parameter.

Crossover type

可以选择交叉的类型parameter.

P generate

This parameter specifies the probability for an individual to be selected for a generation.

Use heuristic mutation probability

If this parameter is set to true, the probability for mutations will be chosen as1/nwherenis the number of attributes. Otherwise the probability for mutations should be specified through thep mutationparameter

P mutation

The probability for an attribute to be changed is specified by this parameter. If set to -1, the probability will be set to1/nwherenis the total number of attributes.