The course provides an introduction to the foundations of machine learning. We will discuss the following topics:

- Basic machine learning concepts;
- classes of problems;
- data representation and attributes;
- supervised, unsupervised semi-supervised and reinforcement;
- regression algorithms;
- classification algorithms;
- clustering algorithms;
- generalization, bias/variance dilemma, overfitting;
- performance assessment.

The course is supported by a set of Jupyter/IPython notebooks.

- 00. Python Tutorial (notebook/slides)
- 01. Introduction (notebook/slides)
- 02. Linear regression (notebook/slides)
- 03. Linear classification (notebook/slides)
- 04. Artificial neural networks, Multilayer Perceptrons and Backpropagation (notebook/slides)
- 05. Programming MLPs with theano (notebook)
- 06. Deep Learning (notebook/slides)
- 07. Unsupervised learning and clustering (notebook/slides)
- 08. Bias/variance dilemma, meta-learning and optimization (notebook/slides)

You can also retrieve the notebooks from GitHub and run them locally for a better experience by cloning the git repository.

Similarly, you can use binder to run the notebooks online. In this case, bear in mind that all the changes you make can be lost.

Students must enroll in the Piazza online LMS using the link https://piazza.com/uff.br/other/tic10021. Whenever possible we will use piazza for all communications. If not, include **[TIC10021-2017.1]** in the subject of your emails.

Please give yourself a profile picture – this will be really useful for all of us to learn each other’s names.

We will mainly rely on:

- Hastie, Tibshirani and Friedman (2009)
*The Elements of Statistical Learning*(2nd edition) Springer-Verlag. - Ian Goodfellow, Yoshua Bengio and Aaron Courville (2017) Deep Learning, MIT Press.

Other suitable books are:

- Alex Smola and S.V.N. Vishwanathan Introduction to Machine Learning.
- Grégoire Montavon, Geneviève B. Orr and Klaus-Robert Müller (2012) Neural Networks: Tricks of the Trade (Second edition). Springer LNCS 7700.
- Christopher Bishop (2006) Pattern Recognition and Machine Learning. Springer.
- T. Mitchell (1997) Machine Learning. McGraw Hill.
- S. Marsland (2009) Machine Learning – An Algorithmic Approach, CRC Press.
- S. Russell e P. Norvig (2004) Inteligência Artificial, Editora Campus.
- Michael Nielsen (2016) Neural Networks and Deep Learning.
- Book lists for machine learning: link.

This reading list contains papers that we have commented or discussed in class but that are not necessarily essential to the course. Feel free to contribute to the list via the Mendeley group.

**Failed refreshing OAuth2 access token: {"message":"Credentials are required to access this resource."}**

Students can book a meeting with the professor using the form bellow.