Chevron Left
Back to Mathematics for Machine Learning: PCA

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

4.0
stars
2,669 ratings
671 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

WS
Jul 6, 2021

Now i feel confident about pursuing machine learning courses in the future as I have learned most of the mathematics which will be helpful in building the base for machine learning, data science.

JS
Jul 16, 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.

Filter by:

51 - 75 of 668 Reviews for Mathematics for Machine Learning: PCA

By Tathagat A

Jun 15, 2020

The lecturer was not always understandable.

By Michael-John B

May 16, 2020

If I could give it negative stars I would.

By Mohamed S

Jun 1, 2020

topics are poorly explained and confusing

By Heinz D

Nov 21, 2020

Good and motivating lecturer with decent language, thank you! Challenging course but the relief at the end is great. I'd prefer if the lecturer wouldn't write his texts to the very border of the board because if I'm taking screenshots in PiP mode, the window's controls (close window, play, return to normal video mode) are overlapping.

Week 1: Pre-course survey contains the questions of rather a post-course survey. The lab / programming assignment contains misleading code segments and incomplete explanations.

Week 2: Quiz 'General inner products', dealing with 3-dimensional inner products is very challenging as the lecture only went - in an extreme hurry - through 2-dimensional examples.

Week 3: Programming Assignment contains misleading code segments / comments (e.g. contradiction concerning return variable in project_1d()).

Week 4: Video 'Problem setting and PCA objective' -> Download Link to the PCA book chapter goes to Nirvana.

By Israel J L

Jan 6, 2019

Great course !! Definitely it's an intermediate course so if you don't have a college level in lineal algebra and calculus you'll struggle with the videos and the notebooks (besides you need basic level programing in python and numpy)

The videos are kinda hard but it seems that Marc it's a great mathematician and also he shares a great e-book written by him that has everything seen in the course and more, so with this you can get all the knowledge need it to understand PCA.

I don't understand why it's only 4 stars rated; again if you want to learn linear algebra and calculus, this is not the place... you need to have the needed level to suceed.

By Tze C L

Apr 15, 2021

This third and final course in the Mathematics for Machine Learning specialization is the most challenging of them all. This course focuses on deriving the PCA algorithm from scratch. As such, this course introduces you to more abstract topics of Linear Algebra that is not covered by the earlier courses in this specialization.

To follow along in this course, you need the accompanying text book "Mathematics for Machine Learning" written by the instructor himself. This text book is free to download in PDF format (website given in the course). This text book alone is worth the 5 stars, IMHO.

By Frank N

Mar 31, 2021

This is a great course. However, the prerequisites for this course should be more specific. It gets frustrating to realise that you cannot answer a question because you lack certain background knowledge.

In general, it is a great course. You would finish this course with a sense of fulfillment after completing all those challenging assignments. Thank you for this priceless knowledge!

By Veeramani. S

Sep 6, 2020

Good Explanation. Very helpful for learning an application of mathematics through this course

By Deleted A

Jul 5, 2020

I'd like to say thanks to everyone who has made this learning experience possible.

Thank you, Marc. Your explanations combined with the book "Mathematics for Machine Learning" have come really handy.

It has been an amazing journey to see how linear algebra marries multivariate calculus to give birth to to PCA.

Being a linguist, I must admit I'm quite new to Python and the domain of machine learning. It would be great if you could add some polishing touches to the programming assignments, especially the one in Week 4 (PCA): waiting for a long time until the system finishes crunching the code was quite a slow experience. If that has to do with a student's sloppy code, please add some recommendations inside the assignment on how to avoid this trap. If that is caused by some technical issues on the server side, please take a moment to look at this.

That you have added the Python tutorial is really helpful. Could you also consider updating it with some details on how to sort eigenvectors and eigenvalues to collect these into a covariance matrix. This piece was mighty tough.

Thank you once again. Keep on!

By Henry N

Aug 27, 2020

Overall this was a pretty good course - some other reviews comment on how some things are glossed over in the videos but you'll get the most out of it if the other courses in the specialisation are fresh in your mind (e.g. you'll have to know about eigenvectors/eigenvalues, Gaussian elimination, derivatives and the chain rule etc. as these are referred to and used but not explained in detail - but these are covered in the first 2 courses). The main problem is with the assignments - for some weeks there's not enough guidance about what the functions should be returning, so these should be better documented; the other issue is that some of the code that we are not required to edit doesn't actually work - for instance, my implementation of PCA passed the grader but the visualisations in the week 4 notebook didn't work.

By Andrea V

Jun 22, 2019

This course is hard, and contains a lot of mathematical derivations and concepts that might be overwhelming for somebody not completely fresh in maths. Nevertheless, it offers a good balance between rigour and practical application, and if some lectures turn out to be too complicated, there's always the chance to deepen the matter more quitely using the course material or online resources. I think that the course would have benefited from a more aneddoctical approach at times: for instance restating in english what the general purpose of PCA is, could help the less mathematically inclined to better seize the idea. But I know this is not always easy to do.

By Arka S

May 27, 2020

Frankly, after the high of the first two courses of this specialisation, this one was a low. Instruction was typical of most Universities; heavily analytical and monotonous. This was not a proper way, especially for such a complicated (for beginners) topic like PCA. This course could've been executed in a much better way.

Still a lot of insight is there to be gained, and I learnt quite a few things. The simplification of the cost (or loss) function was explained well, and I had quite a few 'Aha!' moments in this course as well (in Weeks 3 and 4), albeit not as much as I did in the first two courses (Lin Alg and Multivariate Calc).

By Ruarob T

Jun 30, 2019

Make sure you have time and be ready for python code debug. If you are just an average programmer with limited python exposure like me. It will take you a day to complete the programming assignment.

Note: the assignment and class VDO seems a distant - google a lot during the assignment/quiz

Note: Programming has little clue - personally, I think I spend so much time on programming (distracting me away from going back to Math review)

By Stanislav B

May 6, 2021

Rather difficult course and will probably reqire to watch additional video-explanations on YouTube as well as studing math notation, etc. Otherwise, helpfull and comprehensive.

By Berkay E

Aug 9, 2019

-Some of the contents are not clear.

+It gets great intuition for new learners in machine learning.

By sairavikanth t

Apr 29, 2018

Lot of Math. Couldn't get proper intuition regarding PCA, was lost in understanding math equations

By Jessica P

Aug 6, 2019

I agree with the others. Course didn't merge well with the 1st two which were perfect!

By Clara M L

May 1, 2018

Not as good as the other two courses but still very intuitive

By Shilin G

Jun 27, 2019

Not as good as previous two courses. I understand it is an intermediate course, but still, the video does not help you do the quiz, e.g. the video uses 2x2 matrices for example while quiz is mainly about 3x3 - then why not include a 3x3 example? Programming assignment is not clear either, some places you have to change the shape of matrix but it is not explained why this is necessary (and actually it is not). A lot of room for improvement here.

By Patrick G

May 17, 2020

Very challenging course in terms of computing ; one have to always go to the forum which is very active and function like StackOverFlow. You must have somme skills in PYthon, an intermediate level in matrix algebra and deserve a high amount of time and effort to do the assignments but at the end you get a good comprehension of PCA algorithm.

By Ustinov A

May 28, 2019

Unfortunately, mistakes in grader and a bad python environment spoilt the impression. I lose hours because of it during 1, 2 and 4 week. It's not enough exercises last week. You should add more examples for every step of PCA for better understanding.

By Yougui Q

Jun 2, 2020

The course is relatively harder than the other two courses in this specialization. The lecturer didn't provide understandable examples while demonstrating the concepts. The grader for Python assignments didn't function well either.

By D. H

Sep 30, 2020

The system is problematic, just take a look those complains in the forum. I also got very frustrated from the last assignment.

By Yiqing W

Mar 28, 2019

The teaching is good but some programming assignment is not so good

By Narongdej S

Jun 29, 2019

Confusing for beginners; the explanations are too abrupt