Special Topics:
Evolutionary Construction of Decision Trees
339.339 |
1KV |
Sprogar |
Block |
Begin: 16.10.2013 |
Decision trees are transparent, understandable and efficient classifiers.
Most well known algorithms for their induction are based on a greedy
divide-and-conquer strategy. This course will explore an alternative
approach to their construction, namely evolutionary computation.
The evolutionary approach has benefits and drawbacks. The course will address
both and suggest evasive actions for problematic points in evolutionary DT
induction. Evolutionary principles can well be applied to other problems,
too.
Lecturer
Dr. Matej Sprogar
University of Maribor, Slovenia
matej.sprogar@uni-mb.si
Dates
Date |
Time |
Room |
We 16.10.2013 |
15:30 - 18:00 |
S2 219
|
Th 17.10.2013 |
15:30 - 18:00 |
KG 519
|
Fr 18.10.2013 |
13:45 - 16:15 |
S3 055
|
Contents
- Introduction
- Decision Tree taxonomy
- Classification Trees
- Regression Trees (Regression Trees, Model Trees)
- Classic DT Tools
- Evolutionary Computing
- Genetic Algorithms
- Genetic Programming
- DT encoding
- DT fitness
- EC problems
- DT evolution problems
- Data preparation
- Understanding Results
- Summary
Exam
Students will have to do a project and send it to the lecturer. The marks for this
course will be based on the project.
Topics for student projects:
- EC crossover study:
Implement the most typical EC crossover operators, together with
theoretical and practical analysis of results
- EC fitness functions study:
Implement the most typical EC fitness functions, together with theoretical
and practical analysis of results
- EC mutations study:
Implement the most typical EC mutation operators, together with
theoretical and practical analysis of results
- *EC engine for DT induction:
Implement any EC for DT induction and apply it on a dataset of choice
(UCI, ...)
- **EC engine implementation +:
Implement a generic EC engine in a language of choice, that is able to run
either GA or GP and apply it on a chosen problem
- **Self-adapting DT evolution:
Implement a DT engine, which is able to self-adapt its parameters, and
apply it on a chosen problem
- **DT co-evolution:
Implement a co-evolutionary DT engine, which evolves two competing
populations, and apply it on a chosen problem
- ...
Programming languages: C++ | Java | C# | ...
Libraries: OpenBeagle, GAlib, EC++ | Watchmaker | ...
Literature
|