Academic Year 2019-2020



Christian Micheloni
Claudio Piciarelli
Matteo Dunnhofer
Unit Credits
Teaching Period
Second Period
Course Type
Prerequisites. Linear algebra and programming paradigms are fundamental prerequisites
Teaching Methods. The course is organised in theoretical lessons, in exercise and lab sessions.
Verification of Learning. The final exam consists in a written test eventually followed by and oral discussion. The student can opt for a contest in which they will be challenged to solve real machine learning problems. Such a contest will award points for the final mark.
More Information. The lectures will be recorded and automatically published on the e-learning page of the course. On such a page the registered student will access the video from remote.
The goal of the course is to present the fundamental concepts of the machine learning and to the introduce the most common algorithms for the learning by means of digital machines. The educational goal is to provide to the students the necessary knowledge that allows to solve real problems by selecting and developing the most proper algorithms of machine learning. The course is organized with a first part covering the theory at the base of classical machine learning algorithms and by a lab session when such algorithm will be developed in MATLAB.The student will have to:know the fundamental concepts and algorithms for the automatic learning by means of digital devices.know how to acquire and process data sets for learning purposes. Know to use the MATLAB programming language.Know how to analyse an automatic learning problem both in supervised and unsupervised fashion. Indicate the expected education results as described in the following Dublin descriptors.Knowledge and comprehension Acquire specific knowledge of the main concepts and theory of the automatic learning by means of digital devices. To know and know how to use the MATLAB programming language for the implementation of machine learning algorithms.Capacity to apply knowledge and comprehension Know to analyse and comprehend a machine learning algorithm. Knot to analyse and interpret a machine learning problem and to apply the aforementioned knowledge to select the best learning scheme. Design an automatic learning system for sampled data. Judgment autonomyKnow to evaluate the machine learning algorithms and to provide a personal choice of the most proper algorithm to solve a given problem.Know to distinguish between different solutions of machine learning and evaluate their performance. Communication capabilities Know to present, written and orally, with rigorous logic and terminology technical issues related to algorithms and systems for the automatic learning by means of digital devices. Comprehension capabilitiesKnow how to retrieve and use bibliographic and digital instruments useful for the personal investigation of problems related to automatic learning.
The course will provide the fundamentals of machine learning to the students. The following main difference will be introduced: 1) prediction Vs. classification and 2) supervised against unsupervised approaches. For each of such categories, the state of the art algorithms will be presented and discussed following a logic scheduling that goes from simple issues to the most recent advances in data analytics and deep learning. The course foresees both lab. sessions and exercises that will allow to implement the algorithm presented during the theoretical classes. Limits and characteristic of each algorithm will be deeply analysed.Extended program 1.Introduction – Presentation of the course and of the basic concepts of machine learning like vectors and features spaces. Machine learning applications like classification, regression, clustering and data compression. Classification of the machine learning techniques in supervised or unsupervised learning. 2.Regression – Linear regression techniques (minimization of the cost function by means of gradient descent techniques, least square, polynomial regression). Logistic regression both binomial or polynomial. 3.Supervised algorithms – Introduction to the classification algorithms. Most known algorithms (Decision trees, neural networks, deep learning, kernel, support vector machines, boosting). 5.Non supervised algorithms – Clustering definition and main clustering techniques (k-means, GMM, EM, etc.) . Data compression techniques by means of dimensionality reduction techniques like PCA and LDA.6.Applications – The use of machine learning algorithm for real purposes like perception, text analyses, artificial vision, medicine, economy and others.
[1] Tom M. Mitchell, Machine Learning. McGraw-Hill, 1997.

[2] Christopher M . Bishop, Pattern Recognition and Machine Learning, Information Science and Statistics, 2006.