Signal Processing for Big Data
The goal of the course is to teach basic methodologies for signal processing and distributed optimization and to show their applications in a variety of problems. The signal processing part includes standard tools for analyzing time series and images, but also new tools such as graph signal processing, suitable for the very general case of signals defined over non-metric space domains, like for example in gene regulatory networks. Graph-theoretical tools play a fundamental role in this new formulation and then they are deeply covered during the course. Graph models are discussed and analyzed, together with operations over graphs, like partitioning. Convex optimization is then presented and applied to several examples, from resource allocation in communication networks to machine learning. Finally, it is shown how to formulate and solve optimization problems in distributed form, suitable for big data applications, where the amount of data is so big that the data cannot reside on a single machine, but are spread over a high number of machines.
Prerequisites: The only relevant pre-requisites are basic knowledge of calculus, probability theory and statistics.