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
3,098 ratings

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 773 Reviews for Mathematics for Machine Learning: PCA

By Rob E

Aug 11, 2020

Intentionally obtuse. No effort whatsoever is given to helping people learn. The instructors don't answer questions and they admittedly make their lectures hard to understand.

I only took this because there were no other courses on available at the time.

By Alisa G

Jul 23, 2020

The lectures are only partly related to the quizzes and assignments, some parts are just unnecessarily over complicated and confusing. The final and most important assignment is so computationally heavy so it's hardly running locally

By 용석 권

Jan 29, 2019

Programming assignments' quality is too bad to follow it. Their lecture's explanation and assignments' notation are not matched. Moreover, the code is sometimes ridiculous.

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 Kareem T M

May 18, 2020

Worst Course I have ever token on Coursera, the instructor hadn't mention any examples or simplify the information.

By HARSHIT J

Jun 11, 2020

Very tough course, the first 3 weeks are good, but the last week is as poorly explained as one can imagine

By Kapeesh V

Apr 17, 2021

Week 4 Assignment is not constructed properly.

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 sandeep K K

May 23, 2024

This course was bullied to be the hardest of the 3, and I was aware about this. Nonetheless, I entered the course, I built up my knowledge and then I was able to grasp all the concepts, it took me 1 week of dedicated Statistics and Data work to get this thing done, and I think anyone can easily and surely complete this, and in the way improve the ratings of this wonderful course, ✨THANK U to all who have read this far✨

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 hooshyar y

Feb 26, 2024

This course was really the best one compared to the other two. Unlike the other two courses, in this course, the concepts are well explained, and the labs are designed in a way that they help a lot with understanding of the concepts. It is highly suggested.

By Damilola A

Feb 12, 2024

The knowledge and understanding here is great! Mark is profound, but the programming assignments could do better.

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.