The WOWA operator (Torra) is a powerfull aggregation operator that allows to combine multiple input values into a single score. This is particulary interesting for detection and ranking systems that rely on multiple heuristics. The system can use WOWA to produce a single meaningfull score.
The WOWA operator (Torra) is a powerfull aggregation operator that allows to combine multiple input values into a single score. This is particulary interesting for detection and ranking systems that rely on multiple heuristics. The system can use WOWA to produce a single meaningfull score.
A Java implementation of WOWA is available at [https://github.com/tdebatty/java-aggregation](https://github.com/tdebatty/java-aggregation).
A Java implementation of WOWA is available at [https://github.com/tdebatty/java-aggregation](https://github.com/tdebatty/java-aggregation).
The WOWA operator requires two sets of parameters: p weights and w weights. In this project we use a genetic algorithm to compute the best values for p and w weights. For the training, the algorithm uses a dataset of input vectors together with the expected aggregated score of each vector.
The WOWA operator requires two sets of parameters: p weights and w weights. In this project we use a genetic algorithm to compute the best values for p and w weights. For the training, the algorithm uses a dataset of input vectors together with the expected aggregated score of each vector.
This project is a Java implementation of the [PHP wowa-training](https://gitlab.cylab.be/cylab/wowa-training) project.
This project is a Java implementation of the [PHP wowa-training](https://gitlab.cylab.be/cylab/wowa-training) project.
The **run** method returns a solution object, consisting of p weights and w weights to use with the WOWA operator, plus the total distance between the expected aggregated values that are given as parameter, and the aggregated values computed by WOWA using these weights.
### Parameters description
-**population_size** : size of the population in the algorithm. Suggested value : 100
-**crossover_rate** : defines the percentage of population generated by crossover. Must be between 1 and 100. Suggested value : 60
-**mutation_rate** : define the probability of random element change in the population. Must be between 1 and 100. Suggested value : 15
-**selection_method** : Determine the method used to select element in the population (for generate the next generation). SELECTION_METHOD_RWS for Roulette Wheel Selection and SELECTION_METHOD_TOS for Tournament Selection.
-**max_generation** : Determine the maximum number of iteration of the algorithm.
-**generation_population_method**: Determine the method used to generate the initial population. POPULATION_INITIALIZATION_RANDOM for a full random initialization and POPULATION_INITIALIZATION_QUASI_RANDOM for a population with specific elements.
## References
The **run** method returns a solution object, consisting of p weights and w weights to use with the WOWA operator, plus the total distance between the expected aggregated values that are given as parameter, and the aggregated values computed by WOWA using these weights.
-[The WOWA operator : a review (V. Torra)](https://gitlab.cylab.be/cylab/wowa-training/raw/c3c3785c767ab8258df0fc585aec1e8d463851cd/doc/Torra%20-%202011%20-%20The%20WOWA%20Operator%20A%20Review.1007_978-3.pdf)
### Parameters description
-[Selection method for genetic algorithms (K. Jebari and M. Madiafi)](https://gitlab.cylab.be/cylab/wowa-training/raw/master/doc/SelectionMethodsForGA.pdf)
-**population_size** : size of the population in the algorithm. Suggested value : 100
-**crossover_rate** : defines the percentage of population generated by crossover. Must be between 1 and 100. Suggested value : 60
-**mutation_rate** : define the probability of random element change in the population. Must be between 1 and 100. Suggested value : 15
-**selection_method** : Determine the method used to select element in the population (for generate the next generation). SELECTION_METHOD_RWS for Roulette Wheel Selection and SELECTION_METHOD_TOS for Tournament Selection.
-**max_generation** : Determine the maximum number of iteration of the algorithm.
-**generation_population_method**: Determine the method used to generate the initial population. POPULATION_INITIALIZATION_RANDOM for a full random initialization and POPULATION_INITIALIZATION_QUASI_RANDOM for a population with specific elements.
-[Continuous Genetic Algorithms (R. Haupt and S. Haupt)](https://gitlab.cylab.be/cylab/wowa-training/raw/master/doc/TheContinuousGeneticAlgorithm.pdf)
## References
-[A comparison of Active Set Method and genetic Algorithm approches for learning weighting vectors in some aggregation operators (D. Nettleton and V. Torra)](https://gitlab.cylab.be/cylab/wowa-training/raw/master/doc/A%20comparaison%20between%20Active%20Set%20Method%20and%20Genetic%20Algorithm%20for%20learning%20weights%20in%20aggregation%20operators.pdf).
-[The WOWA operator : a review (V. Torra)](https://gitlab.cylab.be/cylab/wowa-training/raw/c3c3785c767ab8258df0fc585aec1e8d463851cd/doc/Torra%20-%202011%20-%20The%20WOWA%20Operator%20A%20Review.1007_978-3.pdf)
-[Selection method for genetic algorithms (K. Jebari and M. Madiafi)](https://gitlab.cylab.be/cylab/wowa-training/raw/master/doc/SelectionMethodsForGA.pdf)
-[Continuous Genetic Algorithms (R. Haupt and S. Haupt)](https://gitlab.cylab.be/cylab/wowa-training/raw/master/doc/TheContinuousGeneticAlgorithm.pdf)
-[A comparison of Active Set Method and genetic Algorithm approches for learning weighting vectors in some aggregation operators (D. Nettleton and V. Torra)](https://gitlab.cylab.be/cylab/wowa-training/raw/master/doc/A%20comparaison%20between%20Active%20Set%20Method%20and%20Genetic%20Algorithm%20for%20learning%20weights%20in%20aggregation%20operators.pdf).