Chevron Left
Back to Mathematics for Machine Learning: PCA

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

1,906 ratings
453 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.


Jun 19, 2020

Relatively tougher than previous two courses in the specialization. I'd suggest giving more time and being patient in pursuit of completing this course and understanding the concepts involved.

Filter by:

351 - 375 of 451 Reviews for Mathematics for Machine Learning: PCA

By Ana P A

Apr 22, 2019

The professor of other two a way better. This one skips some steps in some explanation that makes the tasks hard to do

By Chuwei L

Apr 05, 2019

worse than previous courses of machine learning specialization. Really confused me when introduced the inner products.

By Jyh1003040

Jul 09, 2018

Honestly this course is the one worthing attempting. However, last week's content is really messy and challenging.

By Hsueh-han W

Sep 20, 2019

many steps are not clear enough that I have to spend a lot of additional time to figure out the details.

By Gurudu S R

Sep 16, 2019

Tutor is not clear and concise on the concepts. Need more examples for Week 2 and Week 3.

By Vishesh K

Mar 13, 2020

Good Content but isnt't explained well. if you are motivated by yourself then go for it.

By Sagun P S

Mar 14, 2019

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

By Keng C C

May 30, 2020

explanations are not clear, need to refer to lots of youtube to catch up with course.

By Matan A

Oct 20, 2019

The is a lot of gap from what the lecturer learn and what the assignments requires.

By Yuxuan W

Oct 05, 2018

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

By Rafael C

Dec 07, 2019

definitely one of the most catastrophic courses I've ever taken on Coursera...

By Meraldo A

May 08, 2018

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

By connie

Mar 21, 2020

I think content of first 2 weeks are disconnect with 3rd and 4th weeks

By Alexander

Nov 06, 2019

Math for the sake of math. Too big jumps in calculations, too complex.

By k v k

Nov 30, 2018

its a good course to learn mathematics essential for machine learning

By Rafael C

Sep 24, 2019

The Classes didn't give the knowledge to solve the assignments.

By Shuyu Z

Oct 18, 2019

The videos and instructions for the assignment are not clear.

By gaurav k

Jul 03, 2019

More examples and visualization should be there to explain.

By Malcolm M

Mar 06, 2019

Far more challenging than the first two courses.

By A. S M S H

Jun 02, 2020

Theories should be explained more detailed.

By Reinaldo L N

Feb 27, 2020

Last assignment was hell on Earth...

By Kirellos M H

Apr 08, 2020

This course needs more examples.

By Sean W

Nov 25, 2019

Notebook extremely buggy

By Felipe M

Jul 26, 2020

It is a shame that this course isn't taught in a favorable way, as the content it has is very interesting and valuable. I found that the instructor lacked the enthusiasm that David Dye and Sam Cooper had in the previous courses, which obviously doesn't change the content of the course but definitely makes the learning experience worse. The lectures were also quite fast-paced and not very clear, I feel that this course should have been longer as when it was time to do the graded assignments, I had very little intuitive understanding of the concepts learned. The programming assignments were also the worse of the three courses; this is a combination of what I believe to be an issue with Coursera's online programming environment and the assignments themselves. The assignments were poorly explained and usually involved skills that were not even presented in lectures, which meant that unfortunately I had to rely heavily on books from the internet and assistance from fellow peers in the forums. Apart from requiring skills that were not taught, the Jupyter Notebook was unorganized in the sense that I felt unclear about where I should edit, where I should not. The programming assignments with the previous courses in this specialization were done in a much better way, guiding us to the solution while still demanding creativity and insight into the concepts, while the ones in PCA were messy. This is really sad as this is the most programming-heavy course. Overall I am quite disappointed with this course, it is a frustrating way to end this specialization with the two amazing previous courses.

By Pedro L

Apr 26, 2020

Having taken the other two courses for this specialization, a certain standard was defined and expected. The other two courses had solid basis explained by the professors, and the assignments reflected well from the lessons showing a lineal progression to adequate difficulty.

In this course unfortunately it is not the case, the maths and basis are explained well enough, with extra lectures and side investigations needed from the user side in order to fully understand each lecture, and then the assignments. Don't expect immediate response form mentors nor teaching staff, and neither a well thought difficulty progression. The assignments done by hand and examples taught during lectures DO NOT reflect the difficulty level on programming assignments because it is expected you already have previous experience with python (which is rather frustrating as I took this course expecting to be entry level only on this language).

TL;DR: Take the first two courses if you wanna strengthen your basis, but the last course is not recommended