Signal Processing for Machine Learning

Add Headings and they will appear in your table of contents.

Objectives

The goal of the course is to teach basic methodologies of signal processing and to show their application to machine learning and data science. The methods include: (i) Standard tools for processing time series and images, such as frequency analysis, filtering, and sampling; (ii) Sparse and low-rank data models with applications to high-dimensional data processing (e.g., sparse recovery, matrix/tensor factorization); (iii) Graph signal processing tools, suitable to analyze and process data defined over non-metric space domains (e.g., graphs, hypergraphs, topologies, etc.) with the aim of performing graph machine learning tasks such as graph filtering, spectral clustering, topology inference from data, and graph neural networks. Finally, it is shown how to formulate and solve machine learning problems in distributed fashion, suitable for big data applications, where optimization and data processing must be necessarily performed over multiple agents. Homeworks and exercises on real-world data will be carried out using Python and/or Matlab.

Prerequisite: basic knowledge of calculus, linear algebra, and probability theory.

Final Exam: Oral exam (typically two open questions), plus a computer project carried out over one of the topics of the course.

Classroom code (2024-2025):  dxe4tu2 

Lessons: The lessons will be held Monday from 10 a.m. to 1 p.m.  and Friday from 2 p.m. to 4 p.m, in "Aula A2, via Ariosto".


Program

Some of the material is available from Prof. Paolo Di Lorenzo homepage