Chevron Left
Back to Mathematics for Machine Learning: PCA

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

1,143 ratings
238 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:

151 - 175 of 234 Reviews for Mathematics for Machine Learning: PCA

By João M G

Aug 14, 2019

The course was great till the final week. The lectures did not explain very well the concepts and the assignment was poorly designed. It's a shame because I've loved the more rigorous way of this final course.

By Nelson F A

Apr 25, 2019

This course brings together many of the concepts from the first two courses of the specialization. If you worked through them already, then this course is a must. There are some issues with the programming assignments and the lectures could do with some more practical examples. Be sure to check the discussions forums for help. For me they were essential to passing the course.

By Abhishek P

Sep 09, 2019

Course content tackles a difficult topic well. Only flaw is that programming assignments are poorly designed in some places and are quite difficult to pick up at times.

By Jordan V

Aug 23, 2019

Course addresses important subject, but I worth like to have more in-depth explanation of the mathematics by the instructors and more examples.

By Mohamed B

Oct 27, 2019

I learned a lot in this course, though the last week was somehow hurried and the lecturer didn't spend enough time to piece the whole stuff together.

By ranzhang

Aug 29, 2019

I think it's really a hard lesson for me, but I've also learn a lot, thanks a lot for the teacher and coursera. Some Programming test take too long to execute, and there are some errors in it. just be careful

By Suyog P

Sep 02, 2019

Finally understood basic intuition of PCA, never got perfect resource before. However, there was a sharp change in terms of course delivery than the previous two courses of this specialization. So, heads up.

By Xin W

Sep 06, 2019

This course is full of mathematical derivation, so it is kind of boring.

By Gaetano F

Oct 10, 2019

I found the course excellent but in the programming assignments is not always clear what should one exactly do. They are also quite confusing, especially the last one on PCA implementation. One wastes so much time trying to figure out the solution.

By Ruan v S

Oct 14, 2019

Harder than expected, the content is good and is well worth the struggle!

By Voravich C

Oct 21, 2019

The course level is very difficult and I think having four week course is not enough to understand the math behind PCA

By Shariq A

Oct 20, 2019

Thank you professor for providing such a valuable course.

Just I wanted to say one thing without hurting anyone, the week 4 on PCA is not very clear. The derivation are not very correlated .A humble request isthat to elaborate the derivation which would further enhance the learning

By Manju S

Jan 29, 2019

Good stuff:

Instructor has good knowledge of the subject. The course content structure is designed well.

Bad stuff:

Concepts could have been presented with more clarity. Programming assignments need more instructions and less assumption on what the students already know.

By Prashant D

Feb 17, 2019

The lecturer is good and probably has a very good understanding of the mathematics. However if you are looking for a light and easy course, then this one is not for you. The mathematics is sometimes difficult to follow and although the lecturer patiently explains the derivation of the results, I had to go back and forth a number of times to understand what was happening.

By Malcolm M

Mar 06, 2019

Far more challenging than the first two courses.

By Sagun P S

Mar 14, 2019

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

By k v k

Nov 30, 2018

its a good course to learn mathematics essential for machine learning

By Ronny A

Oct 15, 2018

The content is good. But there were Jupyter Notebook/Server problems. (i) Submit button on notebooks did not work. Posted about this and staff did not respond or help. Then I found a workaround and shared with others. (ii) The graded assignments could be run ok, but the optional ones could not run at all owing to server timeout/bandwidth problems.

By Alexander Z

Sep 14, 2018

Good Course, but

Too less examples to do the quizes on the first run.

Programming assignments are not clearly stated, so you need unnecessary much time to succeed.

I liked the Linear Algebra & Multivariate Modul more!

By Toan T L

Oct 03, 2018

Thank you to all the professors and staffs for such a wonderful program. I did learn a lot.

This last course is indeed a fun and challenging one. But it fells short compared to the other two due to some aspects which can be improved in the future.

Nevertheless, I'm glad that I can learn about PCA.

By Yuxuan W

Oct 05, 2018

Always spending much more time on coding than needed. Same result but no credit :(

By Piotr G

Apr 23, 2018

This course is overall good in terms of the accuracy and obvious deep knowledge of the tutor. However, after the first two modules of this course I expected a completely different approach with way more conceptual thinking than writing proofs and long derivations which can be found on Wikipedia and other websites. It seems to me that there is a clear mismatch between the styles of the first 2 modules and the 3rd course. I'm giving it only three stars because this is not what I expected, I signed up for this track to gain additional conceptual overview of how maths in many machine learning applications works on high level. On the other side though, the assignments and quizzes were harder in this course which is a big plus.

By Chi W

May 19, 2018

Really hard to be a fan of this course. The lectures are simply lists of formulas and theorems without few examples. And the quizzes must be made out by a Chinese, as its purpose is not testing how much you have understood the course but how careful you are instead and even if you have a powerful calculator. Hope the stuff can give us more examples and quizzes not so tricky.

By Meraldo A

May 08, 2018

The course content was good; however, it was not well explained at times.

By Philippe R

May 16, 2018

Very mixed feelings about this course. First three weeks are OK, but going from week 3 to week 4 is like a HUGE step in difficulty if you really want to follow it all. Which is a pity because week 4 is the whole purpose for the course!

I learned "some" about the subject, but not to the level that I can say I understand it fully.

The assignments are OK, but the instructions are not always all that clear, leaving you at times wondering what is expected from you. And not that it is specific to this course, but the grader feedback is not all that helpful. If that is the only information you rely on to figure out where you may have gone wrong in a programming assignment, fixing your mistakes is likely to take quite some time.

All in all, an "OK" course, but not one that I would take again. I will most likely resort to other sources to get a better understanding of the subject.