Back to Mathematics for Machine Learning: PCA

stars

2,579 ratings

•

643 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 16, 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 18, 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 Cheng T Y

•Jul 8, 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 8, 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 Jia J W

•Dec 2, 2020

The last lab session was a bit bizarre. Quality wise, it's not on par with the previous 2 courses, but it's still a good course. There was quite a huge jump from the previous courses. Be patient with yourself when learning. I think the learning outcomes would make your effort worthwhile.

By Andrés M

•Jul 4, 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 4, 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 6, 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 Shri 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 2, 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 17, 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 Tuan A T

•Mar 8, 2021

The PCA exercises should have been broken into smaller exercises so that it makes it easier to solve. Also, there's a numpy complex dtype issue in the last exercise which requires some debugging to figure out the problem.

By Kisan T

•Jun 16, 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 27, 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 2, 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 Alina I H

•Jan 19, 2021

Sometimes the instructions in the labs were a little unclear. Also, the instructor could have displayed a little more fun - but I guess that's how we Germans are ;) still a very recommendable course!

- Finding Purpose & Meaning in Life
- Understanding Medical Research
- Japanese for Beginners
- Introduction to Cloud Computing
- Foundations of Mindfulness
- Fundamentals of Finance
- Machine Learning
- Machine Learning Using Sas Viya
- The Science of Well Being
- Covid-19 Contact Tracing
- AI for Everyone
- Financial Markets
- Introduction to Psychology
- Getting Started with AWS
- International Marketing
- C++
- Predictive Analytics & Data Mining
- UCSD Learning How to Learn
- Michigan Programming for Everybody
- JHU R Programming
- Google CBRS CPI Training

- Natural Language Processing (NLP)
- AI for Medicine
- Good with Words: Writing & Editing
- Infections Disease Modeling
- The Pronounciation of American English
- Software Testing Automation
- Deep Learning
- Python for Everybody
- Data Science
- Business Foundations
- Excel Skills for Business
- Data Science with Python
- Finance for Everyone
- Communication Skills for Engineers
- Sales Training
- Career Brand Management
- Wharton Business Analytics
- Penn Positive Psychology
- Washington Machine Learning
- CalArts Graphic Design

- Professional Certificates
- MasterTrack Certificates
- Google IT Support
- IBM Data Science
- Google Cloud Data Engineering
- IBM Applied AI
- Google Cloud Architecture
- IBM Cybersecurity Analyst
- Google IT Automation with Python
- IBM z/OS Mainframe Practitioner
- UCI Applied Project Management
- Instructional Design Certificate
- Construction Engineering and Management Certificate
- Big Data Certificate
- Machine Learning for Analytics Certificate
- Innovation Management & Entrepreneurship Certificate
- Sustainabaility and Development Certificate
- Social Work Certificate
- AI and Machine Learning Certificate

- Computer Science Degrees
- Business Degrees
- Public Health Degrees
- Data Science Degrees
- Bachelor's Degrees
- Bachelor of Computer Science
- MS Electrical Engineering
- Bachelor Completion Degree
- MS Management
- MS Computer Science
- MPH
- Accounting Master's Degree
- MCIT
- MBA Online
- Master of Applied Data Science
- Global MBA
- Master's of Innovation & Entrepreneurship
- MCS Data Science
- Master's in Computer Science
- Master's in Public Health