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 Timo K

•Apr 10, 2018

Not quite as good as the other two courses of the same specialization. Even though the instructor seems immensely knowledgeable he could work on delivering the material (which is more abstract than before to his credit) in a clearer manner.

The programming assignments are great albeit a bit hard to troubleshoot at times. All in all still a great course.

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 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 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 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 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 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 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 Abhishek P

•Sep 09, 2019

Course content tackles a difficult topic well. Only flaw is that programming assignments are poorly designed in some places and are quite difficult to pick up at times.

By Liang S

•Jul 09, 2018

Teaching pacing is good, and clear in explanation. It will be good if there are some examples about how we should apply all these theories to some real problems.

By Mohamed B

•Oct 27, 2019

I learned a lot in this course, though the last week was somehow hurried and the lecturer didn't spend enough time to piece the whole stuff together.

By Rok Z

•Feb 05, 2020

A different course than the previous 2.

Much harder - as you have to actually know some Python tricks.

But I guess it's the same in a real world.

By Jordan V

•Aug 23, 2019

Course addresses important subject, but I worth like to have more in-depth explanation of the mathematics by the instructors and more examples.

By Kevin G

•Jan 14, 2020

Felt like explanations in this course were a bit confusing, but otherwise, it was a very interesting course. Thank you so much for doing this.

By Helena S

•Feb 28, 2020

The final Notebook contains some errors (Xbar instead of X, passed as an argument). Otherwise a very well organized course. Thanks a lot!

- 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