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.
This course is part of the Mathematics for Machine Learning Specialization
Offered By
About this Course
What you will learn
Implement mathematical concepts using real-world data
Derive PCA from a projection perspective
Understand how orthogonal projections work
Master PCA
Skills you will gain
- Dimensionality Reduction
- Python Programming
- Linear Algebra
Offered by
Syllabus - What you will learn from this course
Statistics of Datasets
Inner Products
Orthogonal Projections
Principal Component Analysis
Reviews
- 5 stars51.14%
- 4 stars22.57%
- 3 stars12.74%
- 2 stars6.64%
- 1 star6.89%
TOP REVIEWS FROM MATHEMATICS FOR MACHINE LEARNING: PCA
Very challenging course, requires intermediate knowledge of Python and the numpy library. PCA week 4 lab was truly a mind-blowing experience, taking over 5 hours to complete.
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!
This course is well worth the time. I have a better understanding of one of the most foundational and biologically plausible machine learning algorithms used today! Love it.
The Programming assignments are quite challenging. The teaching part doesn't equip you with enough resources regarding numpy to get full marks in the Programming Assignments. Good teaching though.
About the Mathematics for Machine Learning Specialization

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
What level of programming is required to do this course?
How difficult is this course in comparison to the other two of this specialization?
More questions? Visit the Learner Help Center.