Say that I want to build a classifier that performs the following:
- Encode each feature from a dataset (X encodings available)
- Perform a number of computations on the encoded values (Y number of operations available)
- Compare the output values to a set of target values for each class and choose the closest ones (same number of target values as inputs)
I want to find the encoding (1), computations (2), and class target values (3) that yields the best classification.
My idea was to solve this with a genetic algorithm where each individual consists of:
- A set of input encodings
- A set of operations/computations
- A set of class target values
These variables are, however, highly dependent - i.e. one input encoding will have an optimal set of computations, while another input encoding will have a (likely) different set of computations. Same goes for computations vs target values...
Can I use a Genetic Algorithm to solve this problem? If so, do I need to modify it/structure it in any special way? (E.g. limit selection and crossover to only happen for individuals with same encodings)
Is there any other optimisation technique you can recommend for such a problem other than random search?