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:

401 - 425 of 758 Reviews for Mathematics for Machine Learning: PCA

By Zax

Jul 27, 2021

Good overview of the derivation of PCA, including reviews of the math from previous courses. My only complaints are that the lectures and descriptions were very dense and notation-heavy, and that there wasn't sufficient explanation for why certain operations were important to the task at hand. A lot is left to the reader to infer from understanding of the underlying maths. There is also little mapping of PCA back to real-world machine learning practices, except the optional final lecture. All-in, the material was useful, but could have been made easier to understand/more relevant.

By Aileen F

Dec 14, 2020

It's a lot harder compared to the earlier courses in the specialization. Video lessons focus more on the theory and lack the visualization and practice problems of the previous courses. Some of the programming assignments can still be polished by including the discussion in between the codeblocks like the assignments in the previous course. Assertion errors in the notebook do not always reflect possible assertion errors in the grader. The difficulty reminds me of doing my own research and debugging my codes during college and those are useful lessons in graduate school and life.

By Nikolay B

Aug 3, 2019

Instructor gives the very dry but useful essence of the "philosophical" concepts of dot and generalized inner product, etc., - personally, liked that. Unfortunately, the offered problems are so far away from the delivered videos but the web search helps on getting the hints. This course makes you think - I learned a lot just by asking myself "what do they mean under this statement?", what they want in this task? Though I will appreciate if providers elaborate the material further and so instead of googling we spend our time watching - a single point access.

By Raul B M

Nov 1, 2020

There were more typographical errors in this course compared to the first 2. In general, it was more challenging, but not in a good way. Often times I had to resort to looking at the discussions in the forums, and I simply wouldn't have been able to finish it without doing so. Unlike in the first 2 courses where I could spend a long time doing the exercises, but I could figure it out from my own notes. There also seemed to be some problems with the autograders of the Jupyter notebooks that the staff may want to review. Still, I learned a lot. Thanks team!

By Luke L

Jun 11, 2020

This course was a very interesting end to the specialization. The first two courses teach you the tools necessary, while this course teaches practical (although highly theoretical) application of those tools. The reason for the non-five star rating is the python exercises take one on quite a journey, which often times goes through some dark and murky tunnels which are tough to escape. Also, there are few worked examples during lectures.

By Claudio P

Jan 24, 2020

It was a real tour de force on the mathematics, and I had some hard time following the ideas of the instructor many times. However, the topic was completely covered in a very systematic way, which is excellent in my opinion. My only suggestion is to focus more on what really matters: do we really have to spend such a long time discussing about different metrics for an inner product if in the end we only use the euclidean metric?

By Robert D O

Aug 3, 2020

An in-depth exploration of the PCA algorithm and the math behind it. Python programming exercises helped me to solidify the theory and derivations. Numpy is used extensively in the exercises and I liked the experience that I gained in applying it. I found that the connection between the exercises and theory were not always clearly drawn and needed to refer to the discussion to fill in the gaps.

By Barnaby D

Jan 3, 2020

Would give this course 5 stars if it was properly described so that expectation could match reality:

Give yourself plenty of time for this course - it will take quite a bit longer than described.

Make sure you are comfortable with Python and NumPy before you start (particularly the linear algebra functions).

It is very different (much less hand-holding) than the other courses in the specialization.

By Jorge G

Sep 15, 2020

its a good course, some exercices are not for beginner programers. I think on the PCA chapter the projection matrix is described wrong, I used the formula from previous weeks and it worked. I think the relation between kmeans and pca is not explained only on a programming task is breafly discussed but its described out of nowhere so you have to read the code to understand whats going on.

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 Visveswara K M

Jun 18, 2020

This was a bit more challenging than the previous two courses. I didn't enjoy it as much as the previous courses, however, I learnt more than the previous two. The discussion forums were helpful and the instructors contributed regularly. The assignments were a bit frustrating at times but still manageable. However, the assignments could have had a bit more of explanations.

By greg m

May 24, 2020

Very good course, interesting material. However the amount of programming knowledge required is way beyond a beginner like myself and I struggled with that , consuming much time. Those with programming knowledge have a tremendous advantage on this course.

There should be a week or a separate brief course on python/numpy.

A follow up more advanced course would be good too.

By Evgeny ( C

Jul 25, 2018

It was a harder course where I spent double the time I have initially anticipated.

It is much harder than the two predecessor courses in specialization, and amount of direction when it comes to doing exercises is significantly smaller. More Python knowledge is required.

That said, I feel like I have finally understood the PCA and math behind it, which made it all worth it

By Mark S

Jul 7, 2018

Loved the course, although I wish there was more ramp up to some of the complex scenarios (or anything simple but new). Very helpful forums/community. Requires a fair amount of external reading/referencing for some of the concepts which seem to be covered only at a high level in the lectures.I would love to see more courses on applied mathematics for machine learning.

By Jérôme M

Jul 26, 2018

The best of the 3 courses. This is a refresh course of course. A solid background in linear algebra is required in order to fully understand everything. I personnaly recommen the MIT course from Gilbert Strang before you try this one. The python exercises are very well designed and I can only be thankful to having shared this knowledge. Thank you Imperial College.

By Timo K

Apr 10, 2018

Not quite as good as the other two courses of the same specialization. Even though the instructor seems immensely knowledgeable he could work on delivering the material (which is more abstract than before to his credit) in a clearer manner.

The programming assignments are great albeit a bit hard to troubleshoot at times. All in all still a great course.

By Joshua B A

Mar 11, 2019

Very good course. I liked every single video and exercise. I feel that the programming assignments were a bit more challenging and sometimes I was not too sure of what I was doing. I am not a professional in handling Python, so I had to surf online finding the commands to be able to build the simplest code possible. Other than that, it was enjoyable.

By Florian C

Jun 20, 2021

The course presents the basics for and concept of PCA in a quite approachable way and additionally provides some really interesting interpretations of projections and PCA. Unfortunately, the programming labs could use some additional hints for people unfamiliar with Python and Numpy without which some small errors can lead to great frustration.

By Felipe C

Sep 9, 2021

I enjoyed this course. Maybe it's the one I enyoyed the most. When completing something a bit difficult you can feel satisfied.

I liked the teacher and his pace.

That being said, from reading reviews I feel some are right, the information given is sometimes lacking and a couple of times just lazy (some readings were just links to wikipedia).

By Cheng T Y

Jul 8, 2018

good thing is it's trying to give you a sense of practically how to do it.downside is it's not really bridging to from maths to that practical sense in python (and the online jupyter notebook is terrible).the teaching staff is actually more responsive than the other 2 in the specialization.a bit more sided on python than maths though.

By Phạm N M H

Jul 12, 2019

This maybe the most frustrating course and most advance compare to 2 other courses, you might confuse about the code in the assignment of this course. So, if you do have basic background about coding with numpy, matrices,etc..., I do recommend this course, if you qualify enough to fix the bugs of what the dev team left.

By Frank S

Aug 15, 2023

This is a wonderful course in general, and I like the video and text course material, especially the interactive quiz and lab.

Yet there is somewhere to improve, such as make it easier for non-professionals to better understanding, e.g. more steps by step visualized explanations to reduce difficulty in comprehension.

By Thorben S

Mar 8, 2019

I would have liked to be introduced to the topic on a higher level first - and then, step by step, an introduction of the math to solve specific problems in the progress. That would be a perfect approach, especially for data scientists who just want to understand the underlying math for such a widely used technique.

By Jia J W

Dec 2, 2020

The last lab session was a bit bizarre. Quality wise, it's not on par with the previous 2 courses, but it's still a good course. There was quite a huge jump from the previous courses. Be patient with yourself when learning. I think the learning outcomes would make your effort worthwhile.

By Andrés M

Jul 4, 2020

I believe the course is proper for people that have no prior knowledge in linear algebra whatsoever. I liked how clear it was to introduce concepts, yet I found that if you knew nothing the course is too hard but super easy for the ones that have some knowledge in algebra and calculus.