Machine Learning: Evolutionary Algorithms

Evolutionary Algorithms are randomized optimization methods. They are inspired by principles of biological evolution, however, applied in a technical context for the solution of mathematical or technical optimization problems.

These population-based methods apply the principles of inheritance, variation, and the "survival of the fittest" to candidate solutions. The resulting search heuristics are applicable to a wide variety of application problems. They are conceptually relatively simple and often easy to implement. Their analysis requires elaborate tools and quickly becomes intractable. Evolutionary search is often applied to the approximate solution of hard optimization tasks for which efficient problem-specific solvers are not available.

The course starts out with a basic model of an evolutionary algorithm. Departing from this model students will learn about various aspects of evolutionary optimization on discrete and continuous search spaces, from which a systematic taxonomy of modular components will be developed.

The course applies the flipped classroom format. Students work through the relevant lecture material at home; most of the material is provided in the form of videos. All lecture material is in English. The presence time is dedicated to a practical session. Most of the practical session is filled with exercises, many of which involve programming tasks. We will use the Python programming language. All exercises are distributed in the form of Jupyter notebooks.

The course is managed in Moodle. Lecture videos, slides, and exercises are made available there. The obligatory registration for the exam also works through Moodle.

Lecturers

Details

Course type
Lectures
Credits
6 CP
Term
Winter Term 2019/2020

Dates

Lecture
Takes place every week on Friday from 10:15 to 13:15 in room ND 6/99.
First appointment is on 11.10.2019
Last appointment is on 31.01.2020

Requirements

The course is designed for Master students of the Angewandte Informatik and Medizinphysik programs, but all students with a mathematical or technical background, e.g., studying natural science or engineering topics, should have the necessary background.

Participants must be familiar with linear algebra and elementary probability theory. For example, students should be well acquainted with the following terms:

  • vector, basis, linear function, linear map, matrix
  • norm, inner product, orthogonal
  • probability, distribution, density, quantile
  • normal distribution, expectation, variance, covariance

More advanced mathematical material will be introduced as needed.


The course is taught in a flipped classroom format. Most of the presence time is dedicated to practical exercises, many of which involve programming. Please bring your own devices, i.e., laptops. More details are found in the corresponding Moodle course.

The Institut für Neuroinformatik (INI) is a central research unit of the Ruhr-Universität Bochum. We aim to understand the fundamental principles through which organisms generate behavior and cognition while linked to their environments through sensory systems and while acting in those environments through effector systems. Inspired by our insights into such natural cognitive systems, we seek new solutions to problems of information processing in artificial cognitive systems. We draw from a variety of disciplines that include experimental approaches from psychology and neurophysiology as well as theoretical approaches from physics, mathematics, electrical engineering and applied computer science, in particular machine learning, artificial intelligence, and computer vision.

Universitätsstr. 150, Building NB, Room 3/32
D-44801 Bochum, Germany

Tel: (+49) 234 32-28967
Fax: (+49) 234 32-14210