Introduction to Machine Learning
3° Year of course - Full year
Frequency Not mandatory
- 15 CFU
- 120 hours
- Italian, some lectures may be in English.
- Trieste
- Obbligatoria
- Standard teaching
- Oral Exam
- SSD INF/01
- Advanced concepts and skills
This course provides an introduction of machine learning theory and algorithms with the aim of creating models that learn from data.
Knowledge and understanding: you will gain an introductory level comprehension of the most common supervised and unsupervised machine learning algorithms and learn how to quantify their performance to choose the best model.
Applying knowledge and understanding: you will be able to develop end-to-end models to solve various types of machine learning problems, including data preparation, regression, classification and clustering.
Communication skills: you will be able to present the results of your machine learning pipeline together with an explanation of the data analysis steps.
Learning skills: you will be able to navigate the machine learning existing literature to complement and improve your data analysis methods.
Basic knowledge of Python and scientific Python. Knowledge of matrix operations, and calculus.
1. Basic notions, linear/logistic regression. 2. Model complexity, Bias-Variance tradeoff, regularization, model assessment. 3. Decision Trees and K-NN classifiers. 4. PCA and dimensionality reduction, density estimation, cluster methods. 5. Support Vector Machines and Kernel based methods. 6. Artificial Neural Networks and deep learning. 7. Reinforcement Learning
Recommended
1. C. M. Bishop, Pattern recognition and machine learning. New York, NY:
Springer, 2009.
2. J. Friedman, T. Hastie, and R. Tibshirani, The elements of statistical
learning, vol. 1. Springer series in statistics Springer, Berlin, 2001.
Other good textbooks
3. Machine Learning: an algorithmic perspective, S. Marsland, Chapman and Hall/CRC, 2014
1. Basic notions: Loss functions, Train and test data, notions of underfitting/overfitting with linear regression. Bias/variance trade off. 2. Logistic regression and gradient descent. Model complexity and regularization (ridge, lasso and elastic nets). Model Assessment (Validation and cross-fold validation, Accuracy, Confusion matrix, Metrics for binary classification ). 3. Decision Trees: overfitting, bagging and boosting. K-NN classifiers 4.PCA e dimensionality reduction; Density estimation (histograms, k-nearest neighbor, kernel density estimation); Cluster analysis: (hierarchical methods, partitional methods, fuzzy clustering). 5. Support Vector Machines: Separating hyperplane: maximal margin classifier; support vectors; Kernel methods: non linearly separable problems; feature augmentation and intuition. Kernel regression, kernel trick Kernel SVM, most common kernels. 6. Artificial Neural Networks and deep learning. Perceptron, intuitions with ReLu networks; Learning: forward and backward pass; Gradient descent and stochastic gradient descent; Properties: generalization, robustness and interpretability; Data augmentation and invariance; Architectures: Fully connected, Convolutional, Resnets. Other architectures (time permitting). 7. Introduction to Reinforcement Learning, Formalizing using Markov Decision Processes (MDP), Dynamic Programming, Monte Carlo methods, Temporal Difference Learning, Q-learning and Deep Q-Networks (DQN), Policy Gradient and Actor-Critic
Lectures, class exercises, homeworks and group projects.
Students should bring their own laptop for class exercises.
The exam will consist of two parts: 1. A project work that can be taken either in groups of 2 to 3 students or alone. Each group will have one or more tasks, typically analyzing a complex dataset or investigating a methodology in detail, and will have to give a brief presentation explaining the work done and provide commented code upon request. We will evaluate the exposition clarity, the ability of synthesis and the understanding of the underlying theory. 2. A written exam right before the interview (multiple choice test) to verify the knowledge of the basic notions. 3. an interview where few questions will be asked to assess the individual contributions and preparation on the topics of the course.