Back to Mathematics for Machine Learning: PCA

4.0

1,187 ratings

•

252 reviews

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....

Jul 17, 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.

May 01, 2018

This course was definitely a bit more complex, not so much in assignments but in the core concepts handled, than the others in the specialisation. Overall, it was fun to do this course!

Filter by:

By Rafael C

•Dec 07, 2019

definitely one of the most catastrophic courses I've ever taken on Coursera...

By Ana P A

•Apr 22, 2019

The professor of other two a way better. This one skips some steps in some explanation that makes the tasks hard to do

By Mark P

•Jul 30, 2019

This course had a lot of potential but there were a number of inconsistencies, cut/paste comment bugs, that make it more challenging than it needs to be. The comments in the notebook exercises should be triple-checked with the text above to ensure consistency of variables. Far too often these would be mixed up, or the input/output descriptions would be incorrect. Or the unit test would have different dimensions. Lectures often left out steps - e.g. "because of orthonormal basis, we can simplify and remove a bunch of terms" - how exactly? A extra few seconds of explanations would allow students to follow more closely. Notation in lectures is sloppy - sometimes terms would be missing and then the video would quietly cut to a correction. "j's" and "i's" indices were interchanged frequently making the derivations how to follow. Also, this isn't a course on unit testing - some more tests should be included to help students debug individual functions rather than relying on the final algorithm (e.g. PCA to work). It should be explained why the "1/N" term for XX^T is not necessary even though it's in the lectures. On the plus side, the added written notes were welcome and fairly well done.

By gaurav k

•Jul 03, 2019

More examples and visualization should be there to explain.

By Alexander Z

•Sep 14, 2018

Good Course, but

Too less examples to do the quizes on the first run.

Programming assignments are not clearly stated, so you need unnecessary much time to succeed.

I liked the Linear Algebra & Multivariate Modul more!

By francesc b

•Jun 02, 2018

I found hard to follow the mathematical proofs, and without a clear step by step formula sheet the last assignment was very hard. All in all I found the course very useful, although I would have liked more intuitive comprehension rather than deep mathematical comprehension. The previous two courses I think matched the balance. Potentially this was not possible for PCA?

By Alexander

•Nov 06, 2019

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

By Wang Z

•Jul 08, 2018

The knowledge introduced in this course is really helpful. However, the programming assignments are very time consuming and not necessarily relevent

By Weijie D

•Nov 23, 2019

This is a terrific course, but week2 and week4 programming assignments are disappointing. If there is only one thing to improve, that must be step-by-step feedback.

I know it is important to write test cases on our own, while it is of no use if there are so many things to figure out and we cannot know which particular step where we are stuck.

Not to mention typos in the code provided in hw2

By Adrian C

•Sep 22, 2019

The derivatiion of the PCA in the last week can be broken into 2 weeks with different programming assignments to get a closer and more confident understanding of the PCA method.

By amit s

•Feb 08, 2019

Unlike the prior courses in the series, topics not clearly explained and brought too sudden. Also none of calculations shown completely, instructor just wrote results in the end. Due to all these reason I was not able to finish the course.

By Mark C

•Jul 31, 2018

Only on week 1 but this is already a disappointment compared to the first two classes in the Math for ML series which were excellent. Some content is presented too fast. Quiz questions are ambiguous. I already paid for the class so I will finish the content but not worry about passing quizzes and assignments. Had I known it would be like this I wouldn't have paid for it. Check out the other reviews and forum discussions to see what others think.

By ABHI G

•Aug 22, 2018

not so good

:(

By Nouran G

•Oct 11, 2018

Course is inconsiderate to new learners in that new concepts were very sloppily introduced. Like the first two courses of the specialization, this course is shallow, shouldn't be anyone's introduction to the subject and is a refresher at best. Unlike the other two courses, it assumes python knowledge, doesn't explain relevant syntax in the assignments; which made me take a lot of long unnecessary detours to get the python implementation right.

By Vignesh N M

•Sep 12, 2018

Explaination of many things are skipped, assumption was made by the instructor that lot of things were already known by the learner. It could have been much better.

By Kevin L

•Sep 11, 2018

The course assignments could be improved dramatically, though the course itself has very good content if you want to have a taste of how linear algebra (predominantly) can be implemented to solve machine learning problems.

By Daniel U

•Sep 27, 2018

Programming assignments seemed to be written from a completely different direction, and instructions are vague and misleading. (The math assignments were not so bad.) There was no staff or mrntor engagement in the forums during the period of the course.

By Marvin P

•Apr 24, 2018

After the other two awesome courses of the specialization this one stays far behind my expectations. Weakest course of the specialization. Instructor is obviously knowledgeable but does not provide much intuition. Programming assignments are really difficult and at many points frustrating. 2 more weeks and therefore comprehensive instructions would be desirable. Couldn't appreciate that course as much as I wanted to.

By Scoodood

•Jul 28, 2018

Video lecture not as intuitive as previous courses.

By Xiao L

•Jun 03, 2019

very wired assignment, a lot of error in template code. The concept is not clear.

By Michael D

•Jul 22, 2019

After having done the first two parts of the specialization, I am afraid this one didn't stand up to the high quality bar the previous two had set. The programming assignments are unnecessarily long and complex and the overall material is not as engaging, connected and concise. I might give it a good rating as a standalone but now I can't avoid comparing it to the other two parts of the specialization.

By Max B

•Aug 14, 2019

Pretty bad all around.

The teacher keeps throwing formulas without taking the time to explain why they are useful, and what they represent.

The first two courses were really good, and this one is a bummer.

Most of what I learned was learned elsewhere, the course acted as a detailed syllabus with some practice quiz (of relatively poor quality).

It's still worth taking if you completed the first two courses and want the specialization certification.

By Aravindan B

•Sep 24, 2019

Need to improve the content and delivery of content.

By Ivo R

•Nov 16, 2019

The theory is well explained and the level of complexity is very similar to a University course, but the assignment environment is buggy and the assignments are poorly designed and very frustrating.

By Michael B

•Nov 21, 2019

Programming assignments not well explained

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.