Back to Mathematics for Machine Learning: PCA

4.0

stars

1,374 ratings

•

305 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 Giri G

•Jun 07, 2019

This was a very hard course for me. But I think the instructor has done the best possible he can with presenting and explaining the course

By Christine W

•Aug 13, 2018

Coding assignment is hard for people who are not familiar with numpy. Would appreciate some material at least going over the basis.

By Voravich C

•Oct 21, 2019

The course level is very difficult and I think having four week course is not enough to understand the math behind PCA

By Nguyen D P

•Oct 17, 2018

That's a great online courses can help people have enough background to break into Machine Learning or Data science

By Ananthesh J S

•Jun 16, 2018

The PCA derivation part requires more elaborate explanation so that we can understand the concept more intuitively.

By Manuel I

•Jul 07, 2018

Overall the hardest of the specialization, a though one but great to make sense of all the maths learned so far.

By Shraavan S

•Mar 04, 2019

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

By Andrew D

•Jun 02, 2019

Very difficult course, make sure to do the prereq courses first and understand everything from those courses.

By Ibon U E

•Jan 07, 2020

The derivations of some concepts have been more vague compared to other courses in this specialization.

By kerryliu

•Jul 30, 2018

still have room for improvement since lots of stuffs can be discussed more in detail.

By Ruan v S

•Oct 14, 2019

Harder than expected, the content is good and is well worth the struggle!

By Xin W

•Sep 06, 2019

This course is full of mathematical derivation, so it is kind of boring.

By Jiaxuan L

•Jul 15, 2019

Overall a good course. Very limited introduction to Python though.

By Lafite

•Feb 04, 2019

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

By Ashok B B

•Feb 06, 2020

Course was challenging , but learned the maths behind PCA,

By Cesar A P C J

•Dec 23, 2018

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

By Sharon P

•Sep 25, 2018

Mathematically challenging, but satisfying in the end.

By paulo

•Feb 11, 2019

great material but explanation are a little bit messy

By Kwak T h

•Jul 27, 2019

Good but slightly less deeper than the other two

By Eddery L

•May 24, 2019

The instructor is great. HW setup sucks though.

By Romesh M P

•Jan 16, 2020

Too much non-video lectures (lot to read)

By Mark R

•Jan 22, 2019

Good, short, overview of PCA

By Changxin W

•Jan 28, 2019

Many errors of homework

By Sammy R

•Dec 25, 2019

Needs more details

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.

- AI for Everyone
- Introduction to TensorFlow
- Neural Networks and Deep Learning
- Algorithms, Part 1
- Algorithms, Part 2
- Machine Learning
- Machine Learning with Python
- Machine Learning Using Sas Viya
- R Programming
- Intro to Programming with Matlab
- Data Analysis with Python
- AWS Fundamentals: Going Cloud Native
- Google Cloud Platform Fundamentals
- Site Reliability Engineering
- Speak English Professionally
- The Science of Well Being
- Learning How to Learn
- Financial Markets
- Hypothesis Testing in Public Health
- Foundations of Everyday Leadership

- Deep Learning
- Python for Everybody
- Data Science
- Applied Data Science with Python
- Business Foundations
- Architecting with Google Cloud Platform
- Data Engineering on Google Cloud Platform
- Excel to MySQL
- Advanced Machine Learning
- Mathematics for Machine Learning
- Self-Driving Cars
- Blockchain Revolution for the Enterprise
- Business Analytics
- Excel Skills for Business
- Digital Marketing
- Statistical Analysis with R for Public Health
- Fundamentals of Immunology
- Anatomy
- Managing Innovation and Design Thinking
- Foundations of Positive Psychology