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 and meta-learning.
- 09. Optimization.

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 on the class online LMS at piazza.com. Whenever possible use piazza for all communications. If not, include TIC10021 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.

- Hastie, Tibshirani and Friedman (2009)
*The Elements of Statistical Learning*(2nd edition) Springer-Verlag. - 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.
- Ian Goodfellow, Yoshua Bengio and Aaron Courville (2016) Deep Learning, MIT Press.
- 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.

(2014) Dropout : A Simple Way to Prevent Neural Networks from Overfitting, Journal of Machine Learning Research (JMLR) 15, p. 1929-1958, doi:10.1214/12-AOS1000

(2014) Deep Learning in Neural Networks: An Overview, arXiv preprint arXiv:1404.7828 abs/1404.7, p. 1-60, url, doi:10.1016/j.neunet.2014.09.003

(2010) Understanding the difficulty of training deep feedforward neural networks, Proceedings of the 13th International Conference on Artificial Intelligence and Statistics (AISTATS) 9, p. 249-256, pdf, doi:10.1.1.207.2059

(2005) Survey of clustering algorithms., IEEE transactions on neural networks / a publication of the IEEE Neural Networks Council 16(3), p. 645-78, pubmed, doi:10.1109/TNN.2005.845141

(2004) Unsupervised and semi-supervised clustering: a brief survey, A Review of Machine Learning …, p. 1-12, pdf

(1996) A Sociological Study of the Official History of the Perceptrons Controversy, Social Studies of Science 26(3), p. 611-659, doi:10.1177/030631296026003005

(1995) Pigeons' discrimination of paintings by Monet and Picasso, Journal of the Experimental Analysis of Behavior 63(2), p. 1334394, url, doi:10.1901/jeab.1995.63-165

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