- All DegreesExplore Bachelor’s & Master’s degrees
- Bachelor’s DegreesExplore master’s degrees from leading universities
- Master’s DegreesExplore Computer Science & Engineering degrees
- Postgraduate StudiesDeepen your expertise with postgraduate learning
- MasterTrack™Earn credit towards a Master’s degree
- University CertificatesAdvance your career with graduate-level learning

Back to Mathematics for Machine Learning: PCA

stars

2,935 ratings

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

WS

Jul 6, 2021

Now i feel confident about pursuing machine learning courses in the future as I have learned most of the mathematics which will be helpful in building the base for machine learning, data science.

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.

Filter by:

By Rob E

•Aug 11, 2020

Intentionally obtuse. No effort whatsoever is given to helping people learn. The instructors don't answer questions and they admittedly make their lectures hard to understand.

I only took this because there were no other courses on available at the time.

By Alisa G

•Jul 23, 2020

The lectures are only partly related to the quizzes and assignments, some parts are just unnecessarily over complicated and confusing. The final and most important assignment is so computationally heavy so it's hardly running locally

By 용석 권

•Jan 29, 2019

Programming assignments' quality is too bad to follow it. Their lecture's explanation and assignments' notation are not matched. Moreover, the code is sometimes ridiculous.

By Benjamin F

•Nov 18, 2019

The didactic value of this course is rather low. The lectures do not explain the very concepts required to sovle the subsequent assigments, or do it in a very poor way.

By Kareem T M

•May 18, 2020

Worst Course I have ever token on Coursera, the instructor hadn't mention any examples or simplify the information.

By HARSHIT J

•Jun 11, 2020

Very tough course, the first 3 weeks are good, but the last week is as poorly explained as one can imagine

By Kapeesh V

•Apr 17, 2021

Week 4 Assignment is not constructed properly.

By Tathagat A

•Jun 15, 2020

The lecturer was not always understandable.

By Michael-John B

•May 16, 2020

If I could give it negative stars I would.

By Mohamed S

•Jun 1, 2020

topics are poorly explained and confusing

By Heinz D

•Nov 21, 2020

Good and motivating lecturer with decent language, thank you! Challenging course but the relief at the end is great. I'd prefer if the lecturer wouldn't write his texts to the very border of the board because if I'm taking screenshots in PiP mode, the window's controls (close window, play, return to normal video mode) are overlapping.

Week 1: Pre-course survey contains the questions of rather a post-course survey. The lab / programming assignment contains misleading code segments and incomplete explanations.

Week 2: Quiz 'General inner products', dealing with 3-dimensional inner products is very challenging as the lecture only went - in an extreme hurry - through 2-dimensional examples.

Week 3: Programming Assignment contains misleading code segments / comments (e.g. contradiction concerning return variable in project_1d()).

Week 4: Video 'Problem setting and PCA objective' -> Download Link to the PCA book chapter goes to Nirvana.

By Israel J L

•Jan 6, 2019

Great course !! Definitely it's an intermediate course so if you don't have a college level in lineal algebra and calculus you'll struggle with the videos and the notebooks (besides you need basic level programing in python and numpy)

The videos are kinda hard but it seems that Marc it's a great mathematician and also he shares a great e-book written by him that has everything seen in the course and more, so with this you can get all the knowledge need it to understand PCA.

I don't understand why it's only 4 stars rated; again if you want to learn linear algebra and calculus, this is not the place... you need to have the needed level to suceed.

By Tze C L

•Apr 15, 2021

This third and final course in the Mathematics for Machine Learning specialization is the most challenging of them all. This course focuses on deriving the PCA algorithm from scratch. As such, this course introduces you to more abstract topics of Linear Algebra that is not covered by the earlier courses in this specialization.

To follow along in this course, you need the accompanying text book "Mathematics for Machine Learning" written by the instructor himself. This text book is free to download in PDF format (website given in the course). This text book alone is worth the 5 stars, IMHO.

By Frank N

•Mar 31, 2021

This is a great course. However, the prerequisites for this course should be more specific. It gets frustrating to realise that you cannot answer a question because you lack certain background knowledge.

In general, it is a great course. You would finish this course with a sense of fulfillment after completing all those challenging assignments. Thank you for this priceless knowledge!

By Veeramani. S

•Sep 6, 2020

Good Explanation. Very helpful for learning an application of mathematics through this course

By Deleted A

•Jul 5, 2020

I'd like to say thanks to everyone who has made this learning experience possible.

Thank you, Marc. Your explanations combined with the book "Mathematics for Machine Learning" have come really handy.

It has been an amazing journey to see how linear algebra marries multivariate calculus to give birth to to PCA.

Being a linguist, I must admit I'm quite new to Python and the domain of machine learning. It would be great if you could add some polishing touches to the programming assignments, especially the one in Week 4 (PCA): waiting for a long time until the system finishes crunching the code was quite a slow experience. If that has to do with a student's sloppy code, please add some recommendations inside the assignment on how to avoid this trap. If that is caused by some technical issues on the server side, please take a moment to look at this.

That you have added the Python tutorial is really helpful. Could you also consider updating it with some details on how to sort eigenvectors and eigenvalues to collect these into a covariance matrix. This piece was mighty tough.

Thank you once again. Keep on!

By Henry N

•Aug 27, 2020

Overall this was a pretty good course - some other reviews comment on how some things are glossed over in the videos but you'll get the most out of it if the other courses in the specialisation are fresh in your mind (e.g. you'll have to know about eigenvectors/eigenvalues, Gaussian elimination, derivatives and the chain rule etc. as these are referred to and used but not explained in detail - but these are covered in the first 2 courses). The main problem is with the assignments - for some weeks there's not enough guidance about what the functions should be returning, so these should be better documented; the other issue is that some of the code that we are not required to edit doesn't actually work - for instance, my implementation of PCA passed the grader but the visualisations in the week 4 notebook didn't work.

By Andrea V

•Jun 22, 2019

This course is hard, and contains a lot of mathematical derivations and concepts that might be overwhelming for somebody not completely fresh in maths. Nevertheless, it offers a good balance between rigour and practical application, and if some lectures turn out to be too complicated, there's always the chance to deepen the matter more quitely using the course material or online resources. I think that the course would have benefited from a more aneddoctical approach at times: for instance restating in english what the general purpose of PCA is, could help the less mathematically inclined to better seize the idea. But I know this is not always easy to do.

By Arka S

•May 27, 2020

Frankly, after the high of the first two courses of this specialisation, this one was a low. Instruction was typical of most Universities; heavily analytical and monotonous. This was not a proper way, especially for such a complicated (for beginners) topic like PCA. This course could've been executed in a much better way.

Still a lot of insight is there to be gained, and I learnt quite a few things. The simplification of the cost (or loss) function was explained well, and I had quite a few 'Aha!' moments in this course as well (in Weeks 3 and 4), albeit not as much as I did in the first two courses (Lin Alg and Multivariate Calc).

By Ruarob T

•Jun 30, 2019

Make sure you have time and be ready for python code debug. If you are just an average programmer with limited python exposure like me. It will take you a day to complete the programming assignment.

Note: the assignment and class VDO seems a distant - google a lot during the assignment/quiz

Note: Programming has little clue - personally, I think I spend so much time on programming (distracting me away from going back to Math review)

By Stanislav B

•May 6, 2021

Rather difficult course and will probably reqire to watch additional video-explanations on YouTube as well as studing math notation, etc. Otherwise, helpfull and comprehensive.

By Berkay E

•Aug 9, 2019

-Some of the contents are not clear.

+It gets great intuition for new learners in machine learning.

By sairavikanth t

•Apr 29, 2018

Lot of Math. Couldn't get proper intuition regarding PCA, was lost in understanding math equations

By Jessica P

•Aug 6, 2019

I agree with the others. Course didn't merge well with the 1st two which were perfect!

By Clara M L

•May 1, 2018

Not as good as the other two courses but still very intuitive

- AWS Cloud A Practitioner's Guide
- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Developing Professional High Fidelity Designs and Prototypes
- Get Google CBRS-CPI Certified
- Introduction to MATLAB Programming
- Learn HTML and CSS for Building Modern Web Pages
- Learn the Basics of Agile with Atlassian JIRA
- Managing IT Infrastructure Services
- Mastering the Fundamentals of IT Support

- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Building a Modern Computer System from the Ground Up
- Getting Started with Google Cloud Fundamentals
- Introduction to Cryptography
- Introduction to Programming and Web Development
- Introduction to UX Design
- Learn HTML and CSS for Building Modern Web Pages
- Mastering the Fundamentals of IT Support
- Utilizing SLOs & SLIs to Measure Site Reliability

- Building an Agile and Value-Driven Product Backlog
- Foundations of Financial Markets & Behavioral Finance
- Getting Started with Construction Project Management
- Getting Started With Google Sheets
- Introduction to AI for Non-Technical People
- Learn the Basics of SEO and Improve Your Website's Rankings
- Mastering Business Writing
- Mastering the Art of Effective Public Speaking
- Social Media Content Creation & Management
- Understanding Financial Statements & Disclosures