Machine Learning for Signal Processing
First semester 2021
Andrés Marrugo, PhD Universidad Tecnológica de Bolívar
Aims and Scope
Signal Processing deals with the extraction of information from signals of various kinds. This process has two distinct aspects: characterization, and categorization. Traditionally, signal characterization has been performed with mathematically-driven transforms and operations, whereas categorization and classification are operations associated with the use of statistical tools.
Machine learning uses statistical techniques to design algorithms that give computer systems the ability to learn about the state of the world directly from data. In the context of Computer Science, to learn can be explicitly defined as to improve performance on a specific task progressively, without being explicitly programmed. An increasingly popular trend has been to develop and apply machine learning algorithms to both aspects of signal processing.
In this course, we discuss the use of machine learning techniques to process signals. We cover a variety of topics, from data-driven approaches for characterization of signals such as audio including speech, images and video, and machine learning methods for a variety of speech and image processing problems.
In this course, the student will obtain proficiency in:
- Machine learning concepts: methods of modeling, estimation, classification, and prediction.
- In sound processing: such as denoising and separating sounds in mixtures.
- In image processing and computer vision: such as image restoration, object detection, recognition, biometrics.
- In carrying out the software implementation of simple applications.
Prior knowledge of this course includes probability, linear algebra, and calculus. Programming experience in MATLAB or Python is desirable, but not required.
Useful Resources
Tutorials, review materials
- MATLAB tutorial
- More MATLAB tutorials: basic operations, programming, working with images
- Linear algebra review
- Random variables review
MATLAB reference
Python references
Outline
This website will be updated as we go along.
Lecture 1: Introduction
We will be discussing the main aspects and motivation for using ML techniques in Signal Processing.
Lecture 2: Linear Algebra Refresher
We will be reviewing the fundamentals of Linear Algebra.
Assignment 1
A summary of Linear Algebra exercises. Due date: 2021-03-14.
Lecture 3: Linear Algebra Refresher II
We will be reviewing the fundamentals of Linear Algebra.
- Lecture 3 slides
- Gilbert Strang’s notes on Eigen analysis
- An awesome video lecture on SVD
- SVD tutorial
Projections example: music score
Lecture 4: Signal Representations
We will be discussing the representation of signals, especially the DFT.
Lecture 5: Eigenfeatures
We will take a look at finding data-dependent bases.
Lecture 6: Face Detection
We will take a look at finding data-dependent bases and classification using AdaBoost.
Assignment 2
A summary of Linear Algebra exercises. Due date: 2021-04-04
Lecture 7: Sparse Representations in Image Processing - Invited
We will take a look at finding data-dependent bases.
In-class activity
We will reproduce the adaboost classifier from the Lecture 6 slides.
Lecture 8: Independent Component Analysis
We will take a look at finding data-dependent bases.
In-class activity
We will play a bit with ICA and PCA to find the data from mixed .
Projects
In this course you are required to complete a short project, similar to the assignments, but you are free to choose the approach and the implementation. You will work in teams of two and you will deliver a project report in the IEEE paper format and a 15 minute presentation.
The project is due June 11.
Lecture 9: Clustering
We will take a look at the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters).
Lecture 10: Expectation Maximization
We now consider a probabilistic context in which each point has a certain probability of belonging to a particular class; in other words, one has to handle membership probabilities.
Lecture 11: Regression and Prediction
We will take a look at how to perform linear and non-linear regression.
Lecture 12: Neural Nets
Neural nets are a type of biologically inspired ML algorithm.