Machine Learning — Evolutionary Algorithms

This page contains all lecture material for the course: videos (mp4), slides (pdf), exercises and reference solutions (jupyter notebooks). To run the notebooks, download the files (don't open them!) and then start jupyter on your local system. The way this works depends on your operating system, and possibly on your python package.

Syllabus

This course provides an in-depth introduction to practical optimization with algorithms from the domain of evolutionary computation.

Evolutionary Algorithms are randomized search and optimization heuristics inspired by principles of biological evolution. The field aims to exploit the principle of the "survival of the fittest" for the solution of technical problems. The resulting optimization algorithms are conceptually simple, widely applicable, and easy to implement. Evolutionary search has applications in science and engineering for the approximate solution of difficult "black box" problems.

The course starts with a general overview of the wide field of optimization. It then introduces different flavors of evolutionary computation, in particular genetic algorithms, genetic programming, and evolution strategies including covariance matrix adaptation. The lecture develops the basic evolutionary optimization model. Various aspects of evolutionary search in discrete and continuous search spaces are discussed in detail, resulting in a systematic taxonomy of largely modular building blocks.

The second part of the course considers a range of typical challenges, like handling constraints, highly multi-modal problems, noisy objective functions, and multiple objectives.

The course is taught in a flipped classroom style. The actual lectures are provided as videos, with the slides as reference material. The contact time of four hours per week is spent on a practical course with a mix of Python programming and analytical exercises.

The course is designed for Master students of the Angewandte Informatik program. The lecture "Mathematics for Modeling and Data Analysis" is recommended as a background.