Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Advanced Data Analysis using Wavelets and Machine Learning
Rating: 4.2 out of 5(29 ratings)
6,358 students

Advanced Data Analysis using Wavelets and Machine Learning

Machine Learning, Data-Driven Engineering, Wavelet Analysis, Fourier Transforms, and Dynamical Systems
Last updated 5/2024
English

What you'll learn

  • Understand the principles and applications of Fourier analysis and wavelets (with emphasis on the physical insights rather than the mathematics)
  • Use Fourier series and transforms to analyze data in various domains
  • Apply machine learning methods to different problems
  • Extract features from data using wavelets
  • Understand the importance of sparsity of natural data
  • Understand the revolutionary concept of compressed sensing, with realistic examples.
  • Discover the governing equations of a dynamical system from time series data (SINDy algorithm)
  • Implement efficient Machine Learning algorithms with Matlab
  • Understand and apply the Singular Value Decomposition (SVD) (we even prove it!)
  • Learn how to use the SVD to approximate images
  • Understand the Least Squares Method (LSM) from practical examples
  • Understand and apply the Fast Fourier Transform (FFT) - one of the most important algorithms ever discovered
  • Understand and apply the Discrete Cosine Transform (DCT)
  • Learn how to derive the Inverse Wavelet Transform
  • Learn how to derive the Inverse Discrete Cosine Transform
  • Learn how to derive the Inverse Fourier Transform
  • Learn how to derive the Uncertainty Principle, and how this affects the time-frequency resolution

Course content

7 sections47 lectures10h 4m total length
  • Overview of Fourier Analysis10:16

    Fourier analysis is a branch of mathematics that studies how general functions can be decomposed into simpler functions with definite frequencies. These simpler functions are usually trigonometric or exponential functions. Fourier analysis has many applications in physics, engineering, and other fields, because it allows us to solve differential equations, analyze signals, and understand periodic phenomena. In this lecture, we will introduce two types of Fourier analysis: Fourier series and Fourier transforms. Fourier series are used to represent periodic functions as discrete sums of sine and cosine functions. Fourier transforms are used to represent non-periodic functions as continuous integrals of trigonometric or exponential functions. We will also discuss some properties and examples of these methods, and how they relate to each other.

  • Space-Frequency resolution for the Short Time Fourier Transform7:52

    The Short Time Fourier Transform (STFT) is a technique that allows us to analyze the frequency content of a signal as it changes over time (or in space). It works by dividing the signal into short segments, applying a window function to each segment, and computing the Fourier transform of each windowed segment. The result is a two-dimensional representation of the signal in the time-frequency domain, called the spectrogram. However, the STFT has a limitation: it uses the same window size for all segments, which means it has the same resolution for all frequencies (we will see that it is not the case for Wavelets). This can be problematic when the signal has different frequency components that vary at different rates over time. In general, it is possible to improve the space-frequency resolution of the STFT by using different window sizes for different frequency bands. It is also possibile to discuss some methods and criteria for choosing optimal window sizes and shapes for different signals and applications. This lectures serve as  conceptual summary of the main concepts.

  • Wavelets and Space-Frequency resolution22:15

    Wavelets are wave-like oscillations that are localized in time (or space) and have two basic properties: scale and location. Scale defines how stretched or squished a wavelet is, and location defines where the wavelet is centered. Wavelets can be used to analyze signals at different scales and locations, which is useful for capturing both global and local features of the signal. Wavelet analysis is an alternative to Fourier analysis, which uses sinusoidal functions that are infinite in time and have a fixed frequency. Wavelet analysis can overcome some of the limitations of Fourier analysis, such as the trade-off between time and frequency resolution (or space vs wavenumber resolution). In this lecture, we will introduce the concept of wavelets and how they can be used to decompose a signal into different frequency bands at different resolutions. Especially in the next section, we will also discuss some types of wavelets, such as discrete and continuous wavelets, and some applications of wavelet analysis, such as compression and feature extraction.

Requirements

  • Familiarity with some linear algebra will make the class easier to follow along with.
  • Calculus might be useful to understand machine learning techniques and wavelets to a greater degree. My primary aim is not to show you the mathematics, but with some mathematical background you would be able to appreciate the contents more thoroughly

Description

Machine Learning, Data Analysis, Fourier Methods and Dynamical Systems

This course brings together several tools that are often studied separately: Fourier analysis, wavelets, data analysis, machine learning, compressed sensing, and dynamical systems.

The common thread is simple: we want to understand how mathematical methods can help us extract structure from data.

Some parts of the course are more mathematical, especially those involving Fourier transforms, wavelets, sparsity, and compressed sensing. Other parts are more computational and practical, with examples involving regression, classification, feature extraction, and dynamical models.

My background is in mechanical engineering, research, signal processing, and mathematical modelling, so the course is taught from that perspective: not as a collection of isolated algorithms, but as a guided path through the ideas that make these methods useful.

Course Structure

The course is divided into four main parts.

Part 1: Fourier Analysis and Wavelets

We begin with an introduction to Fourier analysis and wavelets.

The goal is to build intuition for two of the most important tools used in signal processing, data analysis, and applied mathematics. We discuss how signals can be represented in different domains, why frequency information is useful, and why wavelets are especially valuable when the structure of a signal changes over time or space.

This part is meant to prepare the ground for the more applied sections of the course.

Part 2: Data Analysis with Fourier Series, Fourier Transforms and Wavelets

In the second part, we apply Fourier series, Fourier transforms, and wavelets to data analysis.

The emphasis is not on abstract mathematical rigor, although the main formulas are introduced when needed. The focus is instead on understanding what these tools do and how they can be used in practice.

One important example is the spectral derivative, which shows how Fourier methods can be used to compute derivatives in a very elegant way.

We also discuss the Fast Fourier Transform, or FFT, with the aim of explaining why it is such an important computational method.

The course then returns to wavelets and multiresolution analysis, showing how wavelets can be used to study data at different scales.

Some examples are shown with MATLAB, but the main ideas can still be followed even without access to MATLAB. The point is not to memorize software commands, but to understand the reasoning behind the methods.

There are also some optional lectures on the inverse wavelet transform and the uncertainty principle. These sections contain more mathematics, and students may skip them at first if they prefer to focus on the main applications.

Part 3: Machine Learning Methods

The third part introduces several machine learning and data-analysis methods.

We discuss curve fitting, least squares, gradient descent, linear regression, Singular Value Decomposition, feature extraction, classification, and Gaussian Mixture Models.

The aim is to understand what these methods are trying to do, why they are useful, and how they can help us identify patterns in data.

A particularly important theme is sparsity.

Many natural signals and datasets can be represented using only a small number of significant coefficients in a suitable basis or domain. This idea is central to many modern methods in signal processing and machine learning.

We also introduce compressed sensing, which shows that under the right conditions a signal can be reconstructed from fewer measurements than one might expect from classical sampling arguments. This is a powerful idea with applications in image processing, radar imaging, signal reconstruction, and data reduction.

Part 4: Dynamical Systems and Data-Driven Modelling

The final part of the course introduces dynamical systems.

We study models such as the prey-predator system, epidemic models, and the logistic model of population growth. These examples help show how mathematical equations can describe systems that evolve over time.

The implementation is shown using Scilab, a free and open-source software that is similar in spirit to MATLAB.

The course then introduces SINDy, which stands for Sparse Identification of Nonlinear Dynamics.

SINDy is a data-driven method for discovering the governing equations of a dynamical system from time-series data. The basic idea is to assume that the dynamics can be described by a small number of relevant terms, and then use sparse regression to identify those terms from data.

This is one of the most interesting bridges between machine learning and classical mathematical modelling: instead of using machine learning only as a black box, we try to recover interpretable equations.

What You Will Learn

By the end of the course, you should be able to:

  • Understand the basic ideas behind Fourier analysis and wavelets.

  • Use Fourier series and Fourier transforms to analyze data.

  • Understand the role of the FFT in practical computation.

  • Use wavelets to study signals at different scales.

  • Apply basic machine learning tools such as regression, curve fitting, SVD, classification, and Gaussian Mixture Models.

  • Understand sparsity and why it is important in data analysis.

  • Build intuition for compressed sensing and its applications.

  • Model simple dynamical systems and simulate their behavior.

  • Understand the basic idea behind SINDy and how it can be used to discover equations from data.

Who This Course Is For

This course is intended for students, engineers, researchers, and technically curious learners who want to understand the connection between mathematical methods and data-driven modelling.

It may be especially useful for learners interested in signal processing, applied mathematics, machine learning, mechanical engineering, dynamical systems, or scientific computing.

The course does not assume that you already know all these topics. Some sections are introductory, while others go deeper. The main objective is to build a practical and conceptual bridge between mathematics, algorithms, and real data.

Course Approach

This is not a course about using machine learning as a magic black box.

The goal is to understand the mathematical ideas behind the tools: why Fourier methods work, why wavelets are useful, why dimensionality reduction matters, why sparsity is powerful, and how dynamical equations can sometimes be learned from data.

Whenever possible, I try to connect the computational examples with the underlying mathematical intuition.

Reference and Inspiration

Some lectures were inspired by the book Data-Driven Science and Engineering by Steven L. Brunton and J. Nathan Kutz.

This book is an excellent reference for students who want to go deeper into many of the topics discussed in the course, especially dynamical systems, sparse modelling, and data-driven scientific computing.

The course, however, follows its own structure and teaching path, with the aim of making the material accessible and useful for students who want both intuition and practical tools.

Who this course is for:

  • data scientists who seek to reinforce their understanding of Machine Learning techniques and step up their game
  • Wannabe data analysts or A.I. enthusiasts
  • ML engineers
  • software developers
  • applied mathematicians
  • physicists
  • Researchers
  • Programmers
  • Anyone who wants to learn how to use advanced algorithms to solve real problems with data. It is especially useful for those who are interested in machine learning and data analysis.