Chevron Left
Back to Mathematics for Machine Learning: PCA

Mathematics for Machine Learning: PCA, Imperial College London

646 ratings
131 reviews

About this Course

This intermediate-level course introduces the mathematical foundations to derive Principal Component Analysis (PCA), a fundamental dimensionality reduction technique. We'll cover some basic statistics of data sets, such as mean values and variances, we'll compute distances and angles between vectors using inner products and derive orthogonal projections of data onto lower-dimensional subspaces. Using all these tools, we'll then derive PCA as a method that minimizes the average squared reconstruction error between data points and their reconstruction. At the end of this course, you'll be familiar with important mathematical concepts and you can implement PCA all by yourself. If you’re struggling, you'll find a set of jupyter notebooks that will allow you to explore properties of the techniques and walk you through what you need to do to get on track. If you are already an expert, this course may refresh some of your knowledge. The lectures, examples and exercises require: 1. Some ability of abstract thinking 2. Good background in linear algebra (e.g., matrix and vector algebra, linear independence, basis) 3. Basic background in multivariate calculus (e.g., partial derivatives, basic optimization) 4. Basic knowledge in python programming and numpy Disclaimer: This course is substantially more abstract and requires more programming than the other two courses of the specialization. However, this type of abstract thinking, algebraic manipulation and programming is necessary if you want to understand and develop machine learning algorithms....

Top reviews


Jul 17, 2018

This is one hell of an inspiring course that demystified the difficult concepts and math behind PCA. Excellent instructors in imparting the these knowledge with easy-to-understand illustrations.


May 01, 2018

This course was definitely a bit more complex, not so much in assignments but in the core concepts handled, than the others in the specialisation. Overall, it was fun to do this course!

Filter by:

128 Reviews

By Ткаченко Вячеслав Евгеньевич

Mar 24, 2019

Algebra course is excellent. Calculus course is good. PCA is so bad that I am still upset that I spent my time on it.

By J A Marin

Mar 21, 2019

Solid conceptual explanations of PCA make this course stand out. The thorough review of this content is a must for any serious data researcher.

By David Hwang

Mar 21, 2019

It was challenging but worth it to enhance the mathematic skills for machine learning. Thanks for the awesome course.

By Akash Gupta

Mar 20, 2019


By Bálint - Huba Furdek

Mar 20, 2019

Great !

By Miguel Vargas

Mar 20, 2019

I am very disappointed with this course. It was very hard to follow, and not because this is challenging, but partly because the instructor is not so good. I had to read a lot on my own to be able to complete some assignments. I hope you can improve the content of this course. The best course of this specialization is the second one, and this is the worst.

By Jonathan Fewtrell

Mar 17, 2019

This course is way harder than the first two. The maths itself is more difficult. The Python parts are a lot more challenging because they require a good understanding of the way Numpy handles vectors and matrices. But the end result is good and it is worthwhile!

By Sagun Pratap Shrestha

Mar 14, 2019

Tough one if you are new to programming or doesn't have excellent understanding of Maths

By Joshua Christopher Bautista Anguiano

Mar 11, 2019

Very good course. I liked every single video and exercise. I feel that the programming assignments were a bit more challenging and sometimes I was not too sure of what I was doing. I am not a professional in handling Python, so I had to surf online finding the commands to be able to build the simplest code possible. Other than that, it was enjoyable.

By Thorben Schlätzer

Mar 08, 2019

I would have liked to be introduced to the topic on a higher level first - and then, step by step, an introduction of the math to solve specific problems in the progress. That would be a perfect approach, especially for data scientists who just want to understand the underlying math for such a widely used technique.