Signal Processing 

for Machine Learning

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 (2023-2024):  xl5gksl 

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".


Contents 

Part 1:     Signal Processing Methods and Applications

References: [1], [2], [3], [4], [5]

Part 2:     Graph Signal Processing and Learning

References:   [1], [6], [7], [8], [9], [10]

Part 3:     Distributed Optimization and Learning

References:  [1], [5], [11], [12], [13]


Textbooks and resources:

[1]  Slides, notes, and codes

[2] Vetterli, Martin, Jelena Kovačević, and Vivek K. Goyal. Foundations of signal processing. Cambridge University Press, 2014.

[3]  S. Foucart and R. Holger, A mathematical introduction to compressive sensing, Basel: Birkhäuser, 2013.

[4E.J. Candès et al., Exact matrix completion via convex optimization, Foundations of Computational mathematics, 9(6), 717-772, 2009.

[5]  S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004;

[6] M.E.J. Newman, Networks: An Introduction, Oxford, UK: Oxford University Press.

[7] Ortega, A., Frossard, P., Kovačević, J., Moura, J. M., & Vandergheynst, P. (2018). Graph signal processing: Overview, challenges, and applications. Proceedings of the IEEE, 106(5), 808-828. 

[8] P. Di Lorenzo, S. Barbarossa, and P. Banelli, Sampling and Recovery of Graph Signals, Cooperative and Graph Signal Processing, P. Djuric and C. Richard Eds., Elsevier, 2018.

[9] Isufi, E., Gama, F., Shuman, D. I., & Segarra, S. (2022). Graph filters for signal processing and machine learning on graphs. arXiv preprint arXiv:2211.08854, 2022. 

[10] Ruiz, L., Gama, F., & Ribeiro, A. (2021). Graph neural networks: Architectures, stability, and transferability. Proceedings of the IEEE, 109(5), 660-682. 

[11] Olfati-Saber, R., Fax, J. A., & Murray, R. M. (2007). Consensus and cooperation in networked multi-agent systems. Proceedings of the IEEE, 95(1), 215-233. 

[12] Li, T., Sahu, A. K., Talwalkar, A., & Smith, V. (2020). Federated learning: Challenges, methods, and future directions. IEEE signal processing magazine, 37(3), 50-60. 

[13]  S. Boyd et al., Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers, Foundations and Trends in Machine Learning, 3(1):1–122, 2011.

CVX software for convex optimization.

Link to Prof. Barbarossa's Home Page 

Last update: 18/09/2023