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