Chevron Left
Back to Mathematics for Machine Learning: PCA

Mathematics for Machine Learning: PCA, Imperial College London

4.0
573 ratings
115 reviews

About this Course

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

Top reviews

By JS

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.

By JV

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:

111 Reviews

By paulo

Feb 11, 2019

great material but explanation are a little bit messy

By amit singh

Feb 08, 2019

Unlike the prior courses in the series, topics not clearly explained and brought too sudden. Also none of calculations shown completely, instructor just wrote results in the end. Due to all these reason I was not able to finish the course.

By Lafite

Feb 04, 2019

编程练习的质量不够高,不管是编程练习本身的代码逻辑、注释、练习的质量还是在答疑区课程组的答疑都不能尽如人意,对于编程练习并不很满意

By Dora Jambor

Feb 04, 2019

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

By Patrick Frece

Feb 01, 2019

The programming tasks are very bad documented and have errors.

By 용석 권

Jan 30, 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 Manju Sharma

Jan 29, 2019

Good stuff:

Instructor has good knowledge of the subject. The course content structure is designed well.

Bad stuff:

Concepts could have been presented with more clarity. Programming assignments need more instructions and less assumption on what the students already know.

By Changxin Wan

Jan 28, 2019

Many errors of homework

By Akshaya

Jan 25, 2019

This was a tough course. But worth it.

By Mark Roberts

Jan 22, 2019

Good, short, overview of PCA