Back to Mathematics for Machine Learning: PCA

4.0

stars

2,078 ratings

•

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

JS

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.

NS

Jun 19, 2020

Relatively tougher than previous two courses in the specialization. I'd suggest giving more time and being patient in pursuit of completing this course and understanding the concepts involved.

Filter by:

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 Cheng T Y

•Jul 08, 2018

good thing is it's trying to give you a sense of practically how to do it.downside is it's not really bridging to from maths to that practical sense in python (and the online jupyter notebook is terrible).the teaching staff is actually more responsive than the other 2 in the specialization.a bit more sided on python than maths though.

By Phạm N M H

•Jul 12, 2019

This maybe the most frustrating course and most advance compare to 2 other courses, you might confuse about the code in the assignment of this course. So, if you do have basic background about coding with numpy, matrices,etc..., I do recommend this course, if you qualify enough to fix the bugs of what the dev team left.

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 Andrés M

•Jul 04, 2020

I believe the course is proper for people that have no prior knowledge in linear algebra whatsoever. I liked how clear it was to introduce concepts, yet I found that if you knew nothing the course is too hard but super easy for the ones that have some knowledge in algebra and calculus.

By Mike W

•Mar 22, 2020

The quality of this course is comparable to the previous courses in the specialization, but the math and derivations were harder to follow (even accounting for the increased difficulty of this course). The assignments also were very practical and help reinforce the course's content.

By Shariq A

•Oct 20, 2019

Thank you professor for providing such a valuable course.

Just I wanted to say one thing without hurting anyone, the week 4 on PCA is not very clear. The derivation are not very correlated .A humble request isthat to elaborate the derivation which would further enhance the learning

By Shuqin L

•Aug 04, 2020

The last course is especially challenging. The instructor could do a better job to explain the concept and calculation etc. The gap between lectures and assignments is way too big. If the course extends to 6 weeks, it may greatly help improve the quality of the course content.

By Aarón M C M

•May 10, 2020

I think this is one of the bests courses that I have taken. I would just recommend to describe more accurately decimal precisions in tests because it has a little challenging to realize that the solutions proposed were not successful enough because of this issue.

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 JITHIN P J

•Apr 27, 2020

Course content is too hard to understand. You need to go through the content at-least 2 -3 times. But its good. Also assignments are bit tricky and you need to do alot of googling which will make you learn more. Thanks Coursera and ICL for this wonderful course

By Moreno C

•Mar 14, 2020

This was the most rigorous and demanding of the courses of this specialization.

The video lectures were well organized.

The interaction with the Jupyter Notebook was sometimes confusing but perhaps this was due to my limited knowledge of Python.

Thank you.

By Stephan S

•Mar 06, 2020

Hi, at first thanks for everyone to make this course possible. In contrast of teh first two parts of the specialization, this course is quite challanging. Some real example would make live a lot easier. Nevertheless in my opinion it is worth the effort.

By M S H

•Aug 22, 2020

The programming assignments are very poorly designed (along with bugs ) which makes it really frustrating at times. The Course is overall insightful but requires lots of background study and practice. Basics of Python (using numpy module)is essential.

By Gaetano F

•Oct 10, 2019

I found the course excellent but in the programming assignments is not always clear what should one exactly do. They are also quite confusing, especially the last one on PCA implementation. One wastes so much time trying to figure out the solution.

By kmccall

•May 03, 2020

some of the mathematical derivations got so detailed that i couldn't follow them. it would be great to add checkpoints in to test/validate/discuss progress so that over a long and complex topic, there can be waypoints to ensure understanding.

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 Вернер А И

•Mar 18, 2018

Very tough course because of the programming assignments. Material was sometimes taught in a non-clear and deceiving way, e.g. covariance matrix of a dataset. Nevertheless, the course is good and covers lots of important details.

By Kisan T

•Jun 17, 2020

Great Course but not good as previous two courses. It helps me gather great idea about Principle Component Analysis. Thanks to Coursera, Imperial College London, and Professors for this amazing course and specialization.

By SUJITH V

•Sep 28, 2018

This is a great course. It covers the topic in good amount of detail. I have enjoyed this course a lot and it also made me think deeper at a lot of places. I am motivated to go and do more work on related topics now.

By João M G

•Aug 14, 2019

The course was great till the final week. The lectures did not explain very well the concepts and the assignment was poorly designed. It's a shame because I've loved the more rigorous way of this final course.

By ranzhang

•Aug 29, 2019

I think it's really a hard lesson for me, but I've also learn a lot, thanks a lot for the teacher and coursera. Some Programming test take too long to execute, and there are some errors in it. just be careful

By Suyog P

•Sep 02, 2019

Finally understood basic intuition of PCA, never got perfect resource before. However, there was a sharp change in terms of course delivery than the previous two courses of this specialization. So, heads up.

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

•Jun 28, 2020

Very challenging at times, but very good course none the less. Would recommend to any one who has a solid foundation of Linear Algebra (Course 1) and Multivariate Calculus (Course 2).

- 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