====== Fundamentals of Machine Learning ====== ---- ===== News ===== * **03/10/2021**: Starting date * **12/10/2022**: New Material: Math 4 ML * **13/11/2022**: New Material: Notes about Back Propagation * **05/01/2023**: Exam dates published ---- ===== General Info ===== **Teacher**: * [[https://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=1039&ru=PROFCONTR|Marco Piangerelli]] **ESSE3 Link** * [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2022*N0*N0*S1*19059*11165&ANNO_ACCADEMICO=2022&mostra_percorsi=S|Fundamentals of Machine Learning - AY 2022/23]] **Scheduling of Lectures**: * Scheduling is available at the following [[:didattica:ay2223:orario_en|link]] **Degrees**: * [[didattica:mscs|MSc in Computer Science (LM-18)]] **Class schedule**: * Monday 11:00 - 13:00 - AB1 * Tuesday 16:00 - 18:00 - AB1 **Students Office hours**: * Monday from 14:00 to 16:00 * Mandatory taking an appointment by email ===== Course Objectives ===== KNOWLEDGE AND UNDERSTANDING The aim of the course is to provide the student with knowledge and skills in the area of machine learning.\\ At the end of the course the student should be able to: * distinguish the various machine learning paradigms; * know the learning theory * know classification algorithms, regression, clustering and dimension reduction; APPLYING KNOWLEDGE AND UNDERSTANDING\\ After completing the course, the student must demonstrate that he is able to: * apply the different machine learning paradigms * implement the classification, regression, clustering and dimensionality reduction algorithms; * design and implement systems able to learn automatically from real data and situations; COMMUNICATION SKILLS\\ At the end of this training activity, the student will be able to express himself clearly and with appropriate terms, using the English language, in the learning discussions as well as expose the results of a research concerning technical aspects of machine learning. LEARNING SKILLS\\ At the end of this training activity the student will be able to: * Finding and learning the innumerable algorithms and techniques that are presented in the field of machine learning * Implementing and using the new algorithms ---- ===== Course Contents ===== * Notions of Probability and Linear Algebra * Supervised Learning * Linear Models and Regression for Classification * Decision Tree, Random Forest, Ensemble * Unsupervised Learning * Dimensionality Reduction * Clustering * Neural networks (an introduction) : FFNN, RNN, SOM * Balanced and unbalanced data * Evaluation Metrics (AUC, ROC, Confusion Matrix...) * Examples of coding in Python * Probabilistic learning theory and the "learning problem" * The VC-dimension * Bias-Variance Trade-off * Support Vector Machines (Proof of the maximum margin) ---- ===== Study material ===== **Course Slides and video** * 03/10/2022 {{didattica:ay2223:fml:Lezione1_protetta.pdf|Lezione1}} * 04/10/2022 {{didattica:ay2223:fml:Lezione2_protetto.pdf|Lezione2}} * 10/10/2022 ** Please refer to 04/10/2022** * 11/10/2022 ** Please refer to 04/10/2022** * 17/10/2022 ** Please refer to 04/10/2022** * 18/10/2022 ** Please refer to 04/10/2022** * 24/10/2022 {{didattica:ay2223:fml:Lezione3_2022_2023_protetta.pdf|Lezione7}} * 25/10/2022 ** Please refer to 24/10/2022** * 07/11/2022 {{didattica:ay2223:fml:lezione5_2022_2023_protetta.pdf|Lezione9 (NNs)}} * 08/11/2022 ** Please refer to 07/11/2022** * 14/11/2022 {{didattica:ay2223:fml:lezione_dt_locked.pdf|Lezione11}} * 15/11/2022 ** Please refer to 14/11/2022** * 21/11/2022 {{didattica:ay2223:fml:lezione8_21_nov_protetto.pdf|Lezione13}} * 22/11/2022 ** Cancelled ** * 28/11/2022 ** Cancelled ** * 29/11/2022 ** Cancelled ** * 05/12/2022 ** Cancelled ** * 06/12/2022 ** Cancelled ** * 12/12/2022 {{didattica:ay2223:fml:lezione_clustering_protetto.pdf|Lezione14---CLustering}} * 13/12/2022 {{didattica:ay2223:fml:lezione18_22_23_protetto.pdf|Lezione15}} * 19/12/2022 ** Please refer to 13/12/2022** * 20/12/2022 ** Please refer to 13/12/2022** * 09/01/2023 ** Please refer to 13/12/2022** * 10/01/2023 {{didattica:ay2223:fml:lezione19_22_23_protetto.pdf|Lezione19}} * 16/01/2023 {{didattica:ay2223:fml:lezione20_22_23_protetto.pdf|Lezione20}} * 17/01/2023 {{didattica:ay2223:fml:lezione21_22_23_protetto.pdf|Lezione21}} **Reference books** * Norvig, P., Russel, S., Artificial Intelligence: a Modern Approach - Pearson, 2021 * Sutton, R., Barto, A. Reinforcement Learning: an Introduction [[https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf|Online version]] * C.M. Bishop, Pattern Recognition and Machine Learning, Springer - 2006 * D. Barber, Bayesian Reasoning and Machine Learning, Cambridge University Press. - 2012 [[http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.Online|Online version]] * T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, Springer - 2008 [[https://web.stanford.edu/~hastie/ElemStatLearn//printings/ESLII_print10.pdf|Online version]] ** Link to recordings** [[https://docs.google.com/spreadsheets/d/1nOyODhQid_RQgsIz72omm2vOMJtJgHdyZVTHg5hZHYk/edit?usp=sharing|Recorded lessons]] ** Telegram ** https://t.me/+Cg6G5oi50qozMzk8 **Other sources** Some of the material is taken from the ML Course of Caltech given by Prof. Yaser Abu Mostafa and his collaborators ** Additional Material ** * 12/10/2022 {{didattica:ay2223:fml:math4ml.pdf|Math for Machine Learning - no Bayesian Probability}} * 13/11/2022 {{didattica:ay2223:fml:backprop_locked.pdf|BackPropagation notes}} * 02/01/2023 {{didattica:ay2223:fml:notes_growthfunction_locked.pdf|Growth Function notes}} * 11/10/2020 {{didattica:magistrale:ml:ay_2021:cortes-vapnik1995_article_support-vectornetworks.pdf|Vapnik paper}} * 11/10/2020 {{didattica:magistrale:ml:ay_2021:hoeffding_protetto.pdf|Hoeffding's}} * 28/09/2019 {{didattica:magistrale:ml:ay_2021:optimization_protetto.pdf|Optimization_notes}} * 28/09/2019 {{didattica:magistrale:ml:ay_2021:svm_notes1.pdf|SVM1}} * 28/09/2019 {{didattica:magistrale:ml:ay_2021:svm_notes2.pdf|SVM2}} * 28/09/2019 {{didattica:magistrale:ml:ay_2021:svm_notes4.pdf|SVM3}} * 12/11/2019 {{didattica:magistrale:ml:ay_1020:explaining_adaboost_schapire.pdf|Explaining AdaBoost- Schapire}} * 12/11/2019 {{didattica:magistrale:ml:ay_2021:ensemble_methods_zhou.pdf|Ensemble Methods - Zhou}} * 12/12/2019 {{didattica:magistrale:ml:ay_1920:bias_variance_restriceted.pdf|Bias-Variance I}} * 12/12/2019 {{didattica:magistrale:ml:ay_2021:bias_varianceii_restricted.pdf|Bias-Variance II}} * 16/12/2019 {{didattica:magistrale:ml:ay_2021:vapnik_recap_protetto.pdf|Vapnik's Inequality}} ---- ===== Exams ===== **Exam Dates A.Y. 2022/2023** * Monday, February 6, 2023 (9:00-12:30 - Room AB1) * Monday, February 27, 2023 (ore 9:00-12:30 - Room AB1) * Monday, June 26, 2023 ore (9:00-12:30 - Room AB1) * Monday, July 17, 2023 ore (9:00-12:30 - Room AB1) * Monday, September 4, 2023 (ore 9:00-12:30 - Room AB1) * Monday, September 18, ore (9:00-12:30 - Room AB1) --> TBC **Please, once inside your ESSE3 private account, select the dates with the labels in the following form ... ** **Exam rules**: The exam consists in a test (approximately 2.5 hours) where you have to answer theoretical questions and solve practical exercises. It is allowed to use calculator. ----