- All DegreesExplore Bachelorâ€™s & Masterâ€™s degrees
- BusinessExplore MBA & Business degrees
- Computer Science & EngineeringExplore Computer Science & Engineering degrees
- Data ScienceExplore Data Science degrees
- 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,942 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 Jason N

â€¢Feb 20, 2020

A lot of reading beyond the video lectures was required for me and some explanations could be more clear. Overall, a great course.

By Rishabh P

â€¢Jun 17, 2020

Well-detailed course and straight to the point. I enjoyed the course even though the programming assignments can be challenging

By UMAR T

â€¢Mar 10, 2020

Excellent course it helps you understanding about linear algebra programming into real world examples by programming in python.

By Giorgio B

â€¢Mar 18, 2022

The leadup to PCA was needed and thought clear. I now have a better understand of how projections and inner products work.

By Josef N

â€¢May 14, 2020

It would be great if the course is extended to 8 weeks, with the current week 4 spanning at least 3 weeks. Otherwise great.

By Teiichi A

â€¢Aug 5, 2021

Challenging, with a lot to fill between the topics. Was shown how much further I can learn, which I am really grateful.

By Dora J

â€¢Feb 3, 2019

Great course including many useful refreshers on foundational concepts like inner products, projections, Lagrangian etc.

By Trung T V

â€¢Sep 18, 2019

This course is very helpful for me to understand Math for ML. Thank you Professors at Imperial College London so much!

By Mukund M

â€¢May 24, 2020

Professor Deisenroth is amazing. Very tough course but appreciated all the derivations and explanations of concepts.

By David H

â€¢Mar 21, 2019

It was challenging but worth it to enhance the mathematic skills for machine learning. Thanks for the awesome course.

By Lee F

â€¢Sep 28, 2018

This was the toughest of the three modules. It gave me a strong foundation to continue pusrsuing machine learning.

By Nileshkumar R P

â€¢May 6, 2020

This course was tough but awesome. Lots of things i learnt from this course. Great course indeed and worth doing.

By Carlos J B A

â€¢May 17, 2021

Undoubtedly one of the best courses I have taken on mathematics for Machine Learning with world-class teachers.

By Kuntal T

â€¢Feb 15, 2021

one of the best course to learn whats happening in machine learning and how it make sense through mathematics.

By 037 N S

â€¢Jul 30, 2020

The PCA part Was a bit tricky barely handle the concepts.

thank you imperial team for such interactive course

By Krzysztof

â€¢Aug 21, 2019

One of the most challenging course in my life - almost impossible without python and mathematics background.

By Javier d V

â€¢Jun 25, 2021

Great course. An intermediate mathematical background is requiered. This is a strength in terms of learning

By Pratama A A

â€¢Aug 25, 2020

Need more Effort to grasp the materials explained_-" you need to be patience,the lecturer is really on top

By Nelson S S

â€¢Jul 29, 2020

Excellent course ... Quite challenging, a little difficult but I have learned a lot ... Thank you ...

By sameen n

â€¢Sep 6, 2019

Amazing course and provides basic introduction for the PCA. Need for programming help in this course.

By Brian H

â€¢Feb 24, 2020

Great course. I appreciate the rigor and clear mathematical explanations provided by Dr. Deisenroth.

By Natalya T

â€¢Feb 25, 2019

exellent course! nice python wokring enviroment and very good explanation at each topic. thank you!

By Aishik R

â€¢Jan 18, 2020

Excellent and to-the-point explanations, useful assignments to make the concepts etched in memory

By Haoquan F

â€¢Feb 13, 2022

It's overall wonderful but the week 4's programming assignment really struggled and confused me.

By KAMASANI V R

â€¢Jun 20, 2020

This course helped me in getting a deeper knowledge on Principal Component Analysis. Thank You.

- 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