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:

76 - 100 of 758 Reviews for Mathematics for Machine Learning: PCA

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 Stephany I

•

Aug 22, 2023

Normal student here who completed the specialization, Mathematics for Machine Learning. This is not for beginners unless you are here to enjoy the process of learning and feel uncomfortable as a super beginner (like I was).

1. First course Linear Algebra was amazing and seriously made me love Math thanks to all the extra material and readings it has available. 10 out of 10.

2. Calculus, loved it as well. Again I am a super beginner and thanks to the professor I also enjoyed the challenge of learning. 8 out 10.

3. PCA.... Very difficult and I had to resubmit all the coding assignment multiple times... 4 out 10

Programming knowledge IS NEEDED but thanks to this specialization I found beauty and love for Math... I wish schools would actually teach like each professor did and would help initially on how to properly study Math.

The overal specialization is a 7 out of 10 for me.

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 Khai T

•

Mar 7, 2022

This course is not for beginners. You should have strong background in mathematics before enrolling. Some pieces of information in the lectures are also incorrect (projection matrix in 1D case and unit of cosine). Labs (programming assignments) are also lack of instructions. You must be familiar with Python to do those assigments.

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

By David S

•

Apr 3, 2021

Of the ten or so courses that I have completed on coursera and other platforms, this one has been the most poorly taught. Usually I give four or five stars. This course gets two, which I feel is charitable.

A few examples of why I rated this course so poorly come to mind

· Instead of video lectures students are repeatedly sent to Wikipedia or similar

· The lecturer’s 417-page text was available, but without worked examples and no reference between lecture material and text

· Examples on the videos often skipped steps

· Often the videos did not have enough information to do the quizzes

· The instructor has not been on the discussion forum for 16 months

· Uninspiring assignments (and laughably low estimated times to complete)

· Intermediate level Python is required, but not mentioned as a prerequisite

I know that ‘style’ is subjective, but the institution (Imperial College London) and Coursera really should have given the lecturer some training on how to appear to enjoy teaching. Personally I would not want to attend this school for fear of being stuck with this lecturer for a semester.

The negativity of this review is unfortunate since Principal Component Analysis is an important and popular concept in statistics, math and machine learning. I hope this course is replaced in the near future. In the meantime solid on-line resources teaching the same material are available. Unfortunately I needed those resources – and an outside tutor – to pass this course.

By Kenny C

•

Jul 22, 2020

This course was very frustrating. I would say that I'm quite competent in math, but I still struggled, not necessarily because the content is challenging, but because the instructions are unclear. I like that the lectures go through derivations in detail, but the instructor often skips steps. Sometimes he would reference a property of matrices that were not talked about, and I would have to spend half an hour researching what that property was to follow what was happening. The quizzes were minimally helpful, as they were merely the same computation question repeated throughout the quiz, which does not help to build intuitive understanding. The programming assignments are unclear on instructions and had many bugs, even in the pre-written parts. A lot of time was spent on reading the NumPy documentation, as the assignments gave little indication of what functions should be used and how they should be used. Overall, despite having a mathematical derivation of PCA, the course is very confusing and frustrating, perhaps even to those competent in this area of study.

By Lawrence C W

•

May 10, 2021

Aggravating. Poor "examples" in the lectures and followed by weak exercises. I understand that they're probably trying to change them from time-to-time to minimize the ability to copy or cheat from pervious cohorts, but when you do that we should certainly ensure to fix all text within the assignment as to prevent confusion. Such as only asking to normalize by centering on the mean, not dividing by the standard deviation. However, further down the exercise it mentions mean and standard deviation.... Okay was I supposed to do that from the beginning or did you forget to edit this section? Additionally errors within the notebook. Functions not running (eig). Causing a never ending stream of 20% grading. Is it my code or this thing failing to execute correct? Very aggravating.

The combination: Poor "examples" during lecture - assuming that everyone is more familiar i guess (maybe I'm alone in this), and sub-par exercises as they pertain to the lecture. I'm disappointed.

By Osaama S

•

Aug 22, 2020

Relative to the first two courses, this one unforutanately focused a lot less on building the intuition and more on proofs and theorems. The instructor did not offer insight into the "why" and "how" of projections and it was left on us to figure out how to connect eigenvectors and projections to derive PCA. The instructor also offered zero insight into the inner products properties. Big thanks to Susan Huang for explaining so many challenging and theoretical concepts on discussion forums in such beautiful detail.

By Adison

•

Jun 20, 2023

The execution has much room for improvement. A large portion of the lectures felt like a direct narration of the textbook (Deisenroth et al), which wasn't particularly helpful as I could have just read the textbook on my own. As a first time learner, this made it far more difficult for me to grasp & digest the concepts. More of the execution may instead be focused on breaking down & building ground-up an intution for these concepts - that's what a lecture should be for anyway!

By Astankov D A

•

May 26, 2020

Although the lecturer admits that the course is quite challenging at times, it is a poor justification for the terrible assignments with close to zero explanations, errors in functions and lots of misfunctioning code in general where the notebook keeps spinning in an infinite loop. I was very hesitant while rating this course - sometimes I wanted to give it 4 stars and sometimes just a single one. I ended up with just two due to the really bad final programming assignment.

By Shivansh Y

•

Feb 3, 2023

The teaching is nice, but the assignments given are way more complex than whatever is taught. And its also safe to say many of the concepts which are to be used to solve the assignment are not even mentioned while teaching.

Lastly, the testcases and the environment setup is terrible. The submission doesnt work. Had so much trouble in this particular course of PCA. Linear Algebra and Calculus courses were way better in terms of implementation.

By Karl S

•

May 30, 2020

Pretty bad in comparison to the previous 2 courses. Not sure if the topic was just harder or it was presented less clearly. Assignments were confusing and I spent a lot of time trying to work out what I was supposed to be doing. More relevant practice questions might have been better. Also course felt slightly detached and maybe collaboration between the tutors which seemed to be there in the previous course should have happened here.

By Colin H

•

Oct 2, 2020

Course material good but programming exercises are poorly designed and cause a lot of problems - even when you have understood the material very well. So unfortunately part of the assessment is your ability to sort out the problems from a poorly designed exercise rather than reinforce what you have been learning.

Fix the programming exercises and the course could be very good.

By Yana K

•

Apr 18, 2019

Not really well structured. Too much in-depth details, too little intuition given. Didn't help to understand PCA. Had to constantly look for other resources online. Pity, because first 2 courses in the specialisation were really good.

By Alexander D

•

May 7, 2023

Unlike the other courses in this series, there is a significant jump between what is discussed in the videos and what is asked for in the quizzes and assignments. The jargon is often not well explained.

By Ali K

•

Jun 3, 2020

the instructor is knowledgeable but he has no teaching skills what so ever. He makes things very confusing. An example at the end would be very useful. No step-wise algorithm is provided.

By Christian M

•

Sep 29, 2020

Very enlightening but the course assignments are full of bugs and make it really hard to work with. The first two courses of the specialization were way better.

By Patrick F

•

Feb 1, 2019

The programming tasks are very bad documented and have errors.