Chevron Left
Back to Mathematics for Machine Learning: PCA

Learner Reviews & Feedback for Mathematics for Machine Learning: PCA by Imperial College London

1,187 ratings
252 reviews

About the 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:

226 - 249 of 249 Reviews for Mathematics for Machine Learning: PCA

By Aravindan B

Sep 24, 2019

Need to improve the content and delivery of content.

By Tobias T

Jul 14, 2019

If you like traditional lectures, which you go into a math class then feel puzzled, then go for it. Otherwise, the contents of this course are simply going through the mathematics equations and definitions, which can easily be found in textbooks. Ironically, the previous two courses in this specialization used lots of graphics and animations to help you understand the maths (either in terms of equation-wise or intuitively), this course completely lacks this element.

By 熊华东

Jun 08, 2018

This course is far far far behind my expectations.The other two course in the specializition is fantastic. There is no visualization in this course, Instructor is always doing his algebra, concepts are poorly explained. I can't understand a lot of concepts in this course because of my poor math background.But why do i take ths course if i have a solid background in math? Programming assignments is not difficult but hard to complete because of vaguely clarification.Plenty of time wasted to find what should i do, its' really frustrating.

By Nithin K

Jun 05, 2018

Too conceptual and theoretical making it difficult to understand. Examples would have helped a lot.

By Matt C

Jul 01, 2018

I was expecting to learn a lot in this course. I did not. The lectures don't really explain much at all and then you're thrown a quizzes and assignments that do not match what was in the actual lectures. The rest of the specialization was great but this course falls of the other two.The explanations in the videos are very poor. Really disappointed.

By Jared E

Aug 25, 2018

Impossible to do without apparently an indepth knowledge of python.

By Kristina S

Aug 24, 2018

One of the worst online courses I have had. Inconsistent teaching, relaying on students having previous knowledge about Python and rads (where the heck did that come from?), failing to convey what and where this is practically used for.

By Marcin

Aug 19, 2018

By far the worst online course that I've ever done. Assignments require a lot of experience in Python, which is not communicated upfront. At the same time, staff doesn't provide any actual support.

By Vibhutesh K S

May 18, 2019

This course is really bad and extremely hard to follow. Previous two courses were executed very well, teaching quality in this is poor.

By Horacio G D

Jul 31, 2019

Feedback for the assignments sucks! The discussion forums don't help. I have to submit the last assignment last 6 times until it work, and I still don't know why my previous versions didn't pass. Other than that, the lectures are actually very good, but the only one worth the time is the fourth one, the other three are just the first course (Linear Algebra) all over again.

By Benjamin F

Nov 18, 2019

The didactic value of this course is rather low. The lectures do not explain the very concepts required to sovle the subsequent assigments, or do it in a very poor way.

By Tai J Y

Nov 16, 2019

This course is not like other two, which explain much clearly. When I do the practice quiz and coding, I resort to find other help on the Internet.

By Ed W

Nov 25, 2019

The lectures gave incomplete information for the understanding of the material and the homework assignments. Wish this course was stretched to be a 10 week course so that we can all thoroughly learn the material.

By Wensheng Z

Nov 24, 2019

Jumpy instruction with little illustrations

By Ashlee H

Nov 26, 2019

You'll likely catch on pretty early that this course will mostly expects you to learn the content elsewhere. You're paying for mostly just for assignments and quizzes which there are far more of than video lectures.

By Anofriev A

Oct 01, 2019

The worst course ever

By Pavel S

Dec 13, 2019

The course has two problems:

complete lack of participation of staff in maintaining it. This leads to students giving each other incorrect advice and sharing incorrect code which passes the grader function check ( the grades are assigned automatically). The advice students give each other are frankly so wrong it is shocking.

the teacher focuses on formalised proof rather than concepts. Hence the lectures turn into lecturer applying mathematical transfomations which end in a formal argument without any intuitive understanding of the underlying subject. This course is the worst of the module with linear algebra and multivariate calculus being much better

By Cynthia M

Jun 09, 2018

The course is mathematics for Machine Learning. Yet, they require that you are proficient in python. I understand the mathematics. However, no one will answer my questions on the python we are suppose to code. I passed both of the previous courses. I've taken and passed Statistics with python on edX. I've very disappointed in this course.

By Adam C

Oct 31, 2019

Worst course I've ever taken, online or IRL

By Danielius K

Sep 24, 2019

You will spend most of your time lost.

Quizes are not clear and ill-prepared.

You will need to spend a lot of time looking for material outside of the course to actually make progress.

By Mingzhe D

Dec 11, 2019

Assignment 1 cannot be passed!

By Yan Z

Oct 13, 2019

Marc Peter Deisenroth jumps too much at the important computation steps. Some steps might be simple to him, but it could be very misleading to students.

Often times, he will just throw out some equations without letting the student know what exactly we are trying to achieve.

By Kannan S

Apr 11, 2018

There are no numerical examples as the course progresses. The instructor does everything algebraically. As a result I was not able appreciate the practical use of PCA. Later on I saw there are very nice videos in Youtube that illustrate the concept more lucidly using numerical examples. I am disappointed.

By Wang Z

Oct 20, 2019

Poorly organized and extremely confusing