Back to Mathematics for Machine Learning: PCA

4.0

1,140 ratings

•

237 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 Lahiru D

•Sep 16, 2019

Great course. Assignments are tough and challenging.

By Shahriyar R

•Sep 14, 2019

The hardest one but still useful, very informative neat concepts

By Gautham T

•Jun 16, 2019

excellent course by imperial

By Vo T T

•Sep 19, 2019

This course is very helpful for me to understand Math for ML. Thank you Professors at Imperial College London so much!

By Faruk Y

•Sep 22, 2019

Lectures and programming assignments were selected nicely to teach the math of PCA

By Lintao D

•Sep 24, 2019

Very Good Course

By Alfonso J

•Oct 20, 2019

Truly hardcore course if your are a noob in reduced order modelling. Very challenging

By Wang S

•Oct 21, 2019

A little bit difficult but helpful, thank you!

By SUSAN H

•Oct 21, 2019

Some people complained about this course or specialization such that there was not enough help or the instructors were so lazy that a lot of the time, they just rushed through and ignored the details. But I LIKE this course and this specialization. All those complaints expressed by some people worked to my advantages. I do not need someone to monitor me at every step, so I do not mind the instructors stay out of discussion forum most of the time. Indeed, the most recent reply from an instructor I saw was a year old (or 2-year old, don't remember exactly). I would have genuinely hated this course or specialization if the instructors intervened at every step.

Throughout this specialization, I was able to discuss course contents and algorithm codes freely on the discussion forum. That really enhanced the learning experiences. I did not feel that my learning journey was micromanaged and I truly valued that freedom to develop my own understanding and insights.

I gave all three courses in the specialization a five-star review (would give six stars if that is available). I would definitely take another course by the instructors on Coursera.

By Idris R

•Nov 02, 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 Arijit B

•Nov 05, 2019

Excellent course and extremely difficult one to grasp at one go. Regards Arijit Bose

By Ramon M T

•Oct 23, 2019

I liked the course quite a bit. I found it quite challenging (I had never seen any PCA) but it always kept me very interested. I had to use several sources to read a little more about PCA and to complete the last exercises, the forum is very helpful.

By Mohammad A M

•Nov 14, 2019

This course is also so helpful, and the lecturer is so predominant on what he taught.

By Mark R

•Jan 22, 2019

Good, short, overview of PCA

By Camilo J

•Mar 01, 2019

Great capstone for the three-class Mathematics for Machine Learning series. Assignments were way harder and programming debugging skills had to be appropiate in order to finish the class.

By Changxin W

•Jan 28, 2019

Many errors of homework

By paulo

•Feb 11, 2019

great material but explanation are a little bit messy

By Shraavan S

•Mar 04, 2019

Programming assignments are a little difficult. Background knowledge of Python is recommended for this course.

By Thorben S

•Mar 08, 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 Jonathan F

•Mar 17, 2019

This course is way harder than the first two. The maths itself is more difficult. The Python parts are a lot more challenging because they require a good understanding of the way Numpy handles vectors and matrices. But the end result is good and it is worthwhile!

By Cesar A P C J

•Dec 23, 2018

Good content, just need to fix the assignments' platform.

By Lafite

•Feb 04, 2019

编程练习的质量不够高，不管是编程练习本身的代码逻辑、注释、练习的质量还是在答疑区课程组的答疑都不能尽如人意，对于编程练习并不很满意

By Ronald T B

•Jan 21, 2019

it is very challenging course, of course you will complain at first on how lack the programming explanation is given. However, it just like the ingredients the math for machine learning will not be complete without attempting to this one.

By Joshua C 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 Vassiliy T

•Jul 10, 2018

it is good, challenging course. i've learned a lot, but feel that i came away with quite patchy knowledge. This course is a big step up in complexity and delivery form the previous two courses. perhaps my expectations were not right to start with - one cannot learn this level of complexity so quickly. Admittedly there are many gaps between the lectures and course materials and what is asked in programming assignments. i ended up reading a lot online to fill in the gaps (i've learned a lot of python during the course, which is great!).nevertheless, after this course i feel equipped to continue with machine learning.

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