Why evolutionary constructive induction (ECI)?
Generally, CI systems have to search a big space of
solutions when looking for good representations. A "solution"
means here a representation - a definition of attributes
used for classification.
Existing CI systems include much knowledge given by
their authors. That means that these systems work well
on some data sets (in some cases), but are not universal
and general enough. Additionally, some of CI systems
require the user to support some information about
the problem (data set), the nature of attributes etc.
That is because the problem of CI is in general very
hard, and finding a good CI algorithm is a challenging
task.
I suggest using Evolutionary Algorithms in CI because it
- Finds good (sub-optimal) solutions quickly
- Is a global optimization method
- Does not require creation of specialized operators for each data set,
but these still may be used when processing some special data (images,
sounds, texts etc.)
- Does not require introducing local/greedy optimization elements (these
would be hard to suggest in the general CI case)
- Accept various quality functions (i.e. predictive classification accuracy, but also weighted sum of some other criteria etc.)
- May be parallelized and distributed
The drawbacks of ECI are
- Long working time, especially as individuals are very complex to
evaluate (e.g. by calling a classifier and measuring the predictive
accuracy)
- Many parameters to adjust (but there are reasonable defaults)
- Does not find optimum (but what does?)
...