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,045 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:

126 - 150 of 758 Reviews for Mathematics for Machine Learning: PCA

By Ivy W

•

Apr 3, 2021

I find this course a good use of my time, I have learnt a number of new things from it and it was quite a fun playing around with the programming assignments. What I especially like are the detailed math explanations/derivations and the reading materials/lecture notes provided (so that I have texts to refer to, instead of always having to view the videos again).

This course is obviously more challenging than the first two in the specialization (I'd say the first two are too easy as 'math' courses), one needs a good understanding of the first two, esp. linear algebra, to know what's going on here. I'm most satisfied with this course among the three, and it's sad to see so many people giving negative reviews on this and complaining on the depth of the contents.

By Fredrick A

•

Feb 20, 2020

The coverage of PCA provided by the instructor was wide and provided me with an intuitive basis for executing the PCA algorithm in the wild. Ultimately, the subject and its various steps were easy to understand. That said, I gained many great insights watching Khan Academy videos especially ones on eigenvalues/eigenvectors. By far the hardest part of the class was implementing and executing the python code. There the devil was in, and sometimes, outside of the details. I cursed the name of the Instructor more than once (a lot more). But, in the end, because of the real life, no safety net experience, I was able to jump right into PCA (and other feature engineering projects) adding value to my team at work on day 1.

By Abdu M

•

Jan 20, 2019

Best course out of the series so far. A fine balance between theory and derivations, and practice with the programming assignments. It seems that they have solved their programming assignment issues (the first one still has some problems with the grader I believe). This course does require you to have some prior experience, though, so if you are new to programming or linear algebra (not just the concepts but how to apply them) it's bets to take the first two courses with some additional help (maybe Khan academy or even MIT OCW. I will certainly refer to this course in the future, as well as the professor's book on Mathematics for ML.

By ANAMITRA S

•

Sep 4, 2020

Even though one might read quite a few negative reviews about this course, I having completed this course certainly can tell that I learnt the most while doing this course. The course was indeed hard and challenging but the good thing that came out of this course was it gave me the ability to learn to study quite a few topics extensively on my own. The course had the book on "Mathematics for Machine Learning" which acted as a great supplement to this course. Overall, I'd ask anyone who is seriously interested in learning the extensive Math behind Machine learning, to take this course.

By Laszlo C

•

Dec 6, 2019

This is an excellent course first covers statistics, looks back to inner products and projections, thereafter it connects all of that and introduces PCA. The knowledge that you've gathered throughout the first two courses gets applied here. Granted, it's more abstract and challenging than the others, I wouldn't give a worse rating just because of that. You'll need to dive into certain topics on your own and if you strengthen your coding skills for the programming exercises. Nevertheless, it's just as highly rewarding as the first two.

By Mohit

•

Dec 28, 2020

This course is too good ,difficult level of this course from other too of this specialization is more.

Having patience and more practice lead to more successful .

If anyone want to learn Machine learning course then after doing this Machine Learning course is simple because most of the thing you have learn through this course

This specialization makes you better and better and you learn many more new and interesting thing related to real world example with practice assignment

Thanks a lot for this to all the mentors

By Douglas W

•

May 22, 2020

This was the most challenging of the three classes in the series. I thought the instructor did an excellent job of moving from theory to practice, and in the end I came away with a good understanding of the topic. As a developer, part of my personal learning style is to shadow these types of lectures in code. I did (or attempted) naive implementations on most slides - that definitely helped my comprehension of this challenging material. Be prepared to work hard, occasionally head scratch and you'll do fine.

By Muhammad Y A

•

Nov 5, 2020

Big thanks to the teacher, this is the most challenging course among the other courses on this specialization. It took me a full 24 hours to complete the final assignment, PCA Algorithm. But, it's worth it, I really enjoyed this course besides how hard it is lmao. One more, unfortunately, there will not be much discussion on the forums, since there's a few people enroll in this course compared to others and the assignment, especially the last one was very hard, anyway hope you enjoy this course, see ya.

By Jitesh J T

•

Dec 23, 2019

Hi,

The course tries to cover most of the important mathematical concepts in Mathematics applied to PCA. The assignments were a bit tough, but i guess that the road ahead when we do programming for data sets in real world applications would not be that easy. Loved the way the lectures were delivered and the programming assignments help to build a strong base for applications of linear algebra that we have done earlier.

Thanks and Regards

Jitesh Tripathi, PhD in Applied Mathematics

By Taranpreet s

•

Sep 26, 2020

Although there are glitches with the submission of assignments and some of the videos by instructor are brief, I will still rate it as a 5 star for the content covered. This is 3rd course of the specialization and need solid understanding of the concepts covered in first 2. Considering the more challenging content covered in this course, Instructor did a great job. All instructors in the specialization are awesome, Would love to do more advanced courses from the same team.

By Tarek L

•

Sep 11, 2019

This is a difficult course, but it really gave me an appreciation of the mathematics behind machine learning. I encourage anyone doing this course to read Deisenroth's free book Mathematics for Machine Learning (mml-book.com) to better understand the notation and technique used to get to the proofs. If anything, the rigor of this course inspired me to further pursue learning in mathematics to strengthen my machine learning foundation.

By Kostas K

•

Aug 21, 2022

This is the most challedging course of the specialization! The material is explained very well by the istructor though and it only requires you to spend some time in digesting the concepts. Some of the assignments are tough, mostly due to the unclear instructions. Four weeks is enough time though to work on and pass all the assigments, provided you have had some courses in linear algebra and calculus in the past.

By Ling J

•

Apr 18, 2018

The whole content of this course is fantastic, not all details were covered in the video, but main ideas were expressed in a great way buy math formulations. Pay attention to those vectors and matrices, especially their dimensions, this will help you solve problem quickly. More important, matrix is just a way to express a bunch of similar things, knowing the meaning of those basis vectors is important.

By Aby M S

•

Jan 25, 2023

Very challenging compared to other 2 courses in the specialization. Learned and struggled a lot towards completion. I am sure I will be visiting this course again for refresher. Wonderful professor that led the course, although candidates undertaking this course must have more than beginner level understanding of python - Numpy and debugging.

Thank you for this specialization course.

By Sriram R

•

Jun 18, 2019

This is one of toughest course in this specialization. Having said that, it was interesting to learn about the inner working of the PCA and is well taught. At times it was tough to follow and could have been better if there are some additional examples explained to reinforce the concept. Also week 4 is kind of rushed with little or no time to fully appreciate the beauty of PCA.

By Yuanfang F

•

Sep 7, 2019

A little more challenging than the other 2 courses in this series. The programming examples on K nearest neighbors, eigenvector fitting of facial data, and the PCA implementation are neat and rewarding. Can't help but feel there's still a great deal of math details that is only briefly mentioned - oh well there's always the free textbook to reference. Overall highly recommended.

By Artem B

•

Feb 20, 2024

I love the amount of math in the course! However, 1) I would like to move towards the student doing more work instead of professor demonstrating their skills in the labs; 2) The quality of the videos: it's important to five some time after the lecture is over to write down the material instead of forcing me to scroll the video back to the point where the notes are still seen;

By Sertan A

•

Dec 14, 2020

Actually I was not encouraged while I am taking the course since the quest for understanding such abstract concepts required me to spend a lot of outside research and reading. Course also requires a strong understanding of Python and Anaconda (for debugging purposes). I can not say that I understand everything regarding PCA, but it became a nice foundation to built upon.

By Marcelo R

•

Jul 26, 2020

Unlike the other two modules, the course is quite challenging, some details are omitted in the explanation and one has to look for them in the forum or on the internet. Some notebooks for programming have problems and need to be downloaded and run virtually. Still, the content is exciting, thanks to the Imperial College London for the course and the opportunity.

By Renato

•

May 3, 2020

This course is challenging, it requires a lot of participation in the forum plus an overlook on the internet to help you out understand a little more how the vector (eigenvectors) relate to the efficiency of PCA. It is pretty interesting to understand the algorithm itself and how it works. Be aware to review a lot and take your time to understand things.

By Gergő G

•

May 15, 2019

This course is really challenging. A strong mathematical background is necessary or it needs to be developed during the lectures and self-study. The professor's explanations are clear, and still lead to complex ideas which is great. Programming assignments are also difficult, however they serve as a superb opportunity to develop your skills in Python.

By Anastasios P

•

Dec 26, 2019

Challenging course, a lot harder than the two previous in the specialisation. Having said that, I really enjoyed it for the insights that it gave and for actually making me learn some Python as well. With this course you need to go search and fin the necessary functions and usage to complete the assignments. The best course in the series I believe.

By Idris R

•

Nov 2, 2019

Great, challenging course. The instructor will expect much of you as the material is not spoon fed. At times this is frustrating but yet that's the best way to build your own intuition. This is a *hard* course and I imagine most of machine learning is like this. Fun, rewarding, and challenging. You'll flex your math and programming muscles.

By Xavier P

•

Nov 9, 2020

Fantastic teacher !! He succeeds in finding the right balance between theory and concrete examples. All the concepts presented over the 4 weeks smoothly merge at the end of the course to give a good global picture of the PCA algorithm and its applications. As a sidenote, the Jupyter notebooks contain mistakes or can be quite confusing.

By Jaiber J

•

May 1, 2020

A great course, worth the money. It was hard, as it should be. The explanations are concise, and the assignments take much more to complete, at times leaving us scratching the head. Anyway, I'm so glad to have completed, it has provided me such great insight about how mathematics powers the machine learning algorithms we use everyday.