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:

626 - 650 of 758 Reviews for Mathematics for Machine Learning: PCA

By connie

•

Mar 21, 2020

I think content of first 2 weeks are disconnect with 3rd and 4th weeks

By Alexander

•

Nov 6, 2019

Math for the sake of math. Too big jumps in calculations, too complex.

By Muhammad I U H

•

Aug 22, 2023

The instructor method of teaching is too static or robotic in nature.

By k v k

•

Nov 30, 2018

its a good course to learn mathematics essential for machine learning

By Rafael C

•

Sep 24, 2019

The Classes didn't give the knowledge to solve the assignments.

By Shuyu Z

•

Oct 18, 2019

The videos and instructions for the assignment are not clear.

By gaurav k

•

Jul 3, 2019

More examples and visualization should be there to explain.

By Camilo V

•

Sep 23, 2023

There are error for submitting the programming assigments

By Malcolm M

•

Mar 5, 2019

Far more challenging than the first two courses.

By A. S M S H

•

Jun 2, 2020

Theories should be explained more detailed.

By REINALDO L N

•

Feb 26, 2020

Last assignment was hell on Earth...

By Nicolas G

•

Apr 12, 2021

Very bad course, poorly explained

By kirellos h

•

Apr 8, 2020

This course needs more examples.

By Muhammad Z

•

Mar 23, 2023

it's harder then i tough

By Sean W

•

Nov 25, 2019

Notebook extremely buggy

By Felipe R

•

Aug 20, 2021

No clear explanations

By Felipe M

•

Jul 26, 2020

It is a shame that this course isn't taught in a favorable way, as the content it has is very interesting and valuable. I found that the instructor lacked the enthusiasm that David Dye and Sam Cooper had in the previous courses, which obviously doesn't change the content of the course but definitely makes the learning experience worse. The lectures were also quite fast-paced and not very clear, I feel that this course should have been longer as when it was time to do the graded assignments, I had very little intuitive understanding of the concepts learned. The programming assignments were also the worse of the three courses; this is a combination of what I believe to be an issue with Coursera's online programming environment and the assignments themselves. The assignments were poorly explained and usually involved skills that were not even presented in lectures, which meant that unfortunately I had to rely heavily on books from the internet and assistance from fellow peers in the forums. Apart from requiring skills that were not taught, the Jupyter Notebook was unorganized in the sense that I felt unclear about where I should edit, where I should not. The programming assignments with the previous courses in this specialization were done in a much better way, guiding us to the solution while still demanding creativity and insight into the concepts, while the ones in PCA were messy. This is really sad as this is the most programming-heavy course. Overall I am quite disappointed with this course, it is a frustrating way to end this specialization with the two amazing previous courses.

By Pedro L

•

Apr 25, 2020

Having taken the other two courses for this specialization, a certain standard was defined and expected. The other two courses had solid basis explained by the professors, and the assignments reflected well from the lessons showing a lineal progression to adequate difficulty.

In this course unfortunately it is not the case, the maths and basis are explained well enough, with extra lectures and side investigations needed from the user side in order to fully understand each lecture, and then the assignments. Don't expect immediate response form mentors nor teaching staff, and neither a well thought difficulty progression. The assignments done by hand and examples taught during lectures DO NOT reflect the difficulty level on programming assignments because it is expected you already have previous experience with python (which is rather frustrating as I took this course expecting to be entry level only on this language).

TL;DR: Take the first two courses if you wanna strengthen your basis, but the last course is not recommended

By Jim F

•

Apr 12, 2021

This course on PCA did not live up to my expectation from the previous two courses in the specialization. The first two courses were clearly designed to fit together, but this third course felt like it hadn't been designed to fit into this specialization. It covered material that had already been covered, and assumed other knowledge that hadn't been covered.

The teaching style was also very different: the teacher spent almost no time developing intuition with graphs or motivation with real-world problems, and instead nearly all the time was devoted to algebraic derivations. (Weirdly, the end of the final week did cover some of this; it should instead have been at the start!)

A full 25% of the course was on the abstract notion of "inner products", which was not even necessary to understand PCA. We just used the dot product.

IMO, PCA should not be its own course; it could be condensed to one or two weeks in the other courses. A much more useful third course for ML would be a Probability/Statistics primer.

By Abhishek J

•

Jul 30, 2020

Poor programming assignments, lots of error. Also, the teaching staff has to pull their socks up. No intuition behind anything, only throwing formulas one after the other. I must say if this is the stuff Coursera has to offer then it's not far that other online platforms will take over. No offense but I sincerely request the instructor to improve his teaching skills, as this kind will take him nowhere. It might sound harsh but it's the reality. Nevertheless, I learned something new which will hopefully help in my future, and for that, I will like to thanks the whole teaching staff. I hope you all continue this great initiative, provide quality content, and make learning as easy and affordable as possible. I Will be looking forward to more courses from your side but this time, please come up with new and exciting ways to explain mathematical stuff. Once again Kudos to the teachers and all the students who completed the course!!

By Tuan Q N

•

Feb 16, 2021

This was a very disappointing module compared to the first two modules; I've taken many online courses over the years but this is by far the worst one. The third instructor who leads this module was boring and would work through his examples without explaining how he gets from one step to another. Programming assignments came with very few instructions and would be very difficult for someone with little Python experience (luckily the solutions are out there). The forums are mostly full of months-old posts from people asking for help and getting absolutely no responses from the teachers or moderators. The most active thread was actually just a bunch of people complaining about this course and the instructor. I started a thread because I wanted to know how to solve a problem (I wasn't asking for the answer!) and it was deleted with no explanation.

By Erik P

•

Feb 12, 2020

The first two courses in this series are excellent. However, this third course is taught by a new teacher and this introduces a remarkable drop in quality.

There are of cause different styles of teaching. However, as a minimum a teacher should strive towards conveing to students the importance of the subject at hand and the intuition behind it. However, this teacher settles for monotonously writing out formulas and definitions that can simply be read in the course formula PDF. Thus, watching the videos becomes a waste of time. In turn, this makes it harder to complete quizzes and assignments since one first has to go searching the internet for web pages that actually explain rather than simply state formulas that one needs to combine and apply in order to solve the assignments.

By Jonathan M

•

Jan 23, 2021

I struggle to understand the thought process behind the course structure in this specialization. The first two courses are very surface level when it comes to the mathematics, which I do not think is a bad thing. However, it seems this last course tries to jam fundamental, and challenging, mathematics into the simplified format of the other two courses. From the comments section, I do not believe I am the only one who thinks this way. Wouldn't it be better to just extend the duration of this last course and make it a challenging, but thorough, introduction to the topics? The former without the latter is just painful.

By Nicholas T

•

Aug 31, 2020

I found this course to be rather lacking in what it lists as pre-requisites. I found the need to take a course on numpy while I took this course. Also, I'm just confused as to why this is part 3 of the specialization. Why not do a section on probability/stats to prepare for machine learning? I like all the professors, but there's only so much you're going to learn. I found I needed to constantly use the resources, and they are good, but the resources were better than the assignments and instruction, so... I would suggest saving your money.

By noel s

•

Jul 22, 2020

The intermediate level of this course is accurate, but mainly because of the course's structure. In my opinion this course should not be a part of the specialization as the PCA is already covered in the first two courses. Although this third class is more (and almost only) about the maths I found it confusing in relation with the previous course and their explanation of PCA. Programming assignments are difficult and help the student to think by itself, however they are buggy which may take away the struggling student motivation.