Introduction to Machine Learning
Programma
1) Introduction: the Knowledge Discovery process. (6 hours)
- KDD Process: all steps in a nutshell. (2h)
- Data understanding and Data exploration. Introduction to the data science platform KNIME (2h)
- Practicals: hands-on on simple case studies using Python libraries (2h)
- Introduction to NumPy, Pandas a Seaborne (extra support in Lab)
2) Unsupervised learning methods and practicals (8 hours)
- Clustering: basic concepts and major algorithms for centroid, density based hierarchicalclustering (4h)
- Pattern mining and Association Rules: basic concepts and a-priori algorithm (2h)
- Practicals: hands-on on simple case studies using Python libraries (2h)
3) Supervised Learning: methods and practicals (12 hours)
- Classification: introduction, performance evaluation. A first simple classifier: Decision tree (4h)
- Practicals: hands-on on simple case studies using Python libraries (2h)
- Overview of advanced methods: Random Forest, Support Vector Machine (2h)
- Introduction to Neural Networks and Project description and project assignment (2h)
- Practicals: hands-on on advanced classification methods and Neural Networks with Pytorch (2h)
4) Introduction to Deep Learning architectures (10 hours)
- Convolutional NN, theory, and practice with Pytorch (2h)
- Recurrent Neural Networks (2h)
- Generative adversarial networks (2h)
- Transformers (2h)
- Graph Neural Networks(2h)
5) Design principles and Trustworthy issues on AI systems based: (4h)
- Design guidelines, bias discovery and explainability (2h)
- Project seminar and discussion (2h)
Obiettivi formativi
The formidable advances in computing power, data acquisition, data storage, and connectivity have created unprecedented amounts of data. Data mining and Machine Learning, i.e., the science of extracting knowledge from these masses of data, has therefore been affirmed as an interdisciplinary branch of computer science. The course will introduce the foundations of learning and making predictions from data. A special focus is dedicated to modern Deep Neural Network architectures. The aim of the course is to provide students with basic knowledge of both theoretical foundations and practical aspects of data mining and machine learning with attention to the overall process of extracting knowledge, and its engineering issues.