Genetic Algorithms and Neural Networks


- To understand the way Genetic Algorithms (GA) work as a optimizing method.

- To be able to apply GA to simple problems using some software implementation of GA.

- To understand the neural networks basic types: feedforward, convolution and recurrent.

- To know the different Cost functions. To understand the usual optimization method used in neural networks: gradient descent. To understand the role of the different hyperparameters used in neural networks: number of layers, number of units on each layer and learning rate. To understand the different types of regularization and the situations that require the use of regularization.

General characterization





Responsible teacher

Rui Alberto Pimenta Rodrigues


Weekly - 4

Total - 52

Teaching language



We''''ll use the Python programing language but if the student has experience with some programing language he will be able to learn the necessary Python.



-Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT Press, 2016

- Deep Learning with Python, Francois Chollet, Manning, 2018




Teaching method

Short theoretical presentations will be followed by examples that include computational implementation.

Evaluation method

There will be two tests. The final note is the average of the tests.

Subject matter

Genetic Algorithms:

-An optimization method

-Basic Concepts: fitness measure, population, selection, mutation, recombination.

-Practical examples using software.


Neural networks:

-Basic concepts: neural network types (feed forward, convolution, recurrent), activation functions and cost functions.

- Parameter optimization methods and regularization methods.

-Practical examples using software

Will use the Python programming language and some of its packages. No previous knowledge will be assumed.