Back to Mathematics for Machine Learning: PCA

4.0

stars

1,807 ratings

•

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

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.

Jun 19, 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 Reinaldo L N

•Feb 27, 2020

Last assignment was hell on Earth...

By Kirellos M H

•Apr 08, 2020

This course needs more examples.

By Sean W

•Nov 25, 2019

Notebook extremely buggy

By Pedro L

•Apr 26, 2020

Having taken the other two courses for this specialization, a certain standard was defined and expected. The other two courses had solid basis explained by the professors, and the assignments reflected well from the lessons showing a lineal progression to adequate difficulty.

In this course unfortunately it is not the case, the maths and basis are explained well enough, with extra lectures and side investigations needed from the user side in order to fully understand each lecture, and then the assignments. Don't expect immediate response form mentors nor teaching staff, and neither a well thought difficulty progression. The assignments done by hand and examples taught during lectures DO NOT reflect the difficulty level on programming assignments because it is expected you already have previous experience with python (which is rather frustrating as I took this course expecting to be entry level only on this language).

TL;DR: Take the first two courses if you wanna strengthen your basis, but the last course is not recommended

By Erik P

•Feb 12, 2020

The first two courses in this series are excellent. However, this third course is taught by a new teacher and this introduces a remarkable drop in quality.

There are of cause different styles of teaching. However, as a minimum a teacher should strive towards conveing to students the importance of the subject at hand and the intuition behind it. However, this teacher settles for monotonously writing out formulas and definitions that can simply be read in the course formula PDF. Thus, watching the videos becomes a waste of time. In turn, this makes it harder to complete quizzes and assignments since one first has to go searching the internet for web pages that actually explain rather than simply state formulas that one needs to combine and apply in order to solve the assignments.

By Sagar L

•Mar 21, 2020

Although the topics and lecturer's delivery were nice, but as compared to the two previous courses of the specialization, this one doesn't fare well. The content in the video lessons and that in the notebook were not really planned well in terms of scope. A participant who isn't already familiar with these concepts, would struggle a lot. Only if the reading material, video content and notebook assignments were designed keeping that in mind, it would have been better. Apart from that it was a good course.

By Tobias T

•Jul 14, 2019

If you like traditional lectures, which you go into a math class then feel puzzled, then go for it. Otherwise, the contents of this course are simply going through the mathematics equations and definitions, which can easily be found in textbooks. Ironically, the previous two courses in this specialization used lots of graphics and animations to help you understand the maths (either in terms of equation-wise or intuitively), this course completely lacks this element.

By Mark C

•Jul 31, 2018

Only on week 1 but this is already a disappointment compared to the first two classes in the Math for ML series which were excellent. Some content is presented too fast. Quiz questions are ambiguous. I already paid for the class so I will finish the content but not worry about passing quizzes and assignments. Had I known it would be like this I wouldn't have paid for it. Check out the other reviews and forum discussions to see what others think.

By Max B

•Aug 14, 2019

Pretty bad all around.

The teacher keeps throwing formulas without taking the time to explain why they are useful, and what they represent.

The first two courses were really good, and this one is a bummer.

Most of what I learned was learned elsewhere, the course acted as a detailed syllabus with some practice quiz (of relatively poor quality).

It's still worth taking if you completed the first two courses and want the specialization certification.

By Nouran G

•Oct 11, 2018

Course is inconsiderate to new learners in that new concepts were very sloppily introduced. Like the first two courses of the specialization, this course is shallow, shouldn't be anyone's introduction to the subject and is a refresher at best. Unlike the other two courses, it assumes python knowledge, doesn't explain relevant syntax in the assignments; which made me take a lot of long unnecessary detours to get the python implementation right.

By Marvin P

•Apr 24, 2018

After the other two awesome courses of the specialization this one stays far behind my expectations. Weakest course of the specialization. Instructor is obviously knowledgeable but does not provide much intuition. Programming assignments are really difficult and at many points frustrating. 2 more weeks and therefore comprehensive instructions would be desirable. Couldn't appreciate that course as much as I wanted to.

By Michalis D

•Jul 22, 2019

After having done the first two parts of the specialization, I am afraid this one didn't stand up to the high quality bar the previous two had set. The programming assignments are unnecessarily long and complex and the overall material is not as engaging, connected and concise. I might give it a good rating as a standalone but now I can't avoid comparing it to the other two parts of the specialization.

By Daniel A

•May 09, 2020

Compared to the first modules in this series, the instructor explains almost none of the intuitions behind the maths and will skip over large essential pieces required to complete assignments and quizzes. It assumes a wide knowledge of programming and broader maths that was handled significantly better in the earlier courses.

By Daniel U

•Sep 27, 2018

Programming assignments seemed to be written from a completely different direction, and instructions are vague and misleading. (The math assignments were not so bad.) There was no staff or mrntor engagement in the forums during the period of the course.

By amit s

•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 Kevin L

•Sep 11, 2018

The course assignments could be improved dramatically, though the course itself has very good content if you want to have a taste of how linear algebra (predominantly) can be implemented to solve machine learning problems.

By shashank s

•Feb 17, 2020

First two courses in this series are great but not this one. Lectures and exercises are not related. I do not feel like I have totally understood PCA. Was able to complete the final assignment thanks to the internet.

By Ivo R

•Nov 16, 2019

The theory is well explained and the level of complexity is very similar to a University course, but the assignment environment is buggy and the assignments are poorly designed and very frustrating.

By raghu c b

•Apr 04, 2020

Needs to demo a little bit of code owing to the complexity of the course content.Lectures gives just a high level understanding only. Assignments are taking far more complicated than expected.

By Vignesh N M

•Sep 12, 2018

Explaination of many things are skipped, assumption was made by the instructor that lot of things were already known by the learner. It could have been much better.

By Maksim S

•Mar 25, 2020

The difficulty of the course is inadequate and the pace is not balanced. Requires a lot of search for additional resources to understand materials. I cancelled.

By Kovendhan V

•Jul 11, 2020

After first two amazing courses in this specialisation, third course was a huge let down. One skill I learnt from this last course is patience.

By Martin H

•Dec 08, 2019

Lack of examples to clarify abstract concepts. Big contrast in quality compared to the other courses in this specialization.

By Xiao L

•Jun 03, 2019

very wired assignment, a lot of error in template code. The concept is not clear.

By Pawan K S

•Jun 20, 2020

This course was the hardest I encountered in this specialisation.

- AI for Everyone
- Introduction to TensorFlow
- Neural Networks and Deep Learning
- Algorithms, Part 1
- Algorithms, Part 2
- Machine Learning
- Machine Learning with Python
- Machine Learning Using Sas Viya
- R Programming
- Intro to Programming with Matlab
- Data Analysis with Python
- AWS Fundamentals: Going Cloud Native
- Google Cloud Platform Fundamentals
- Site Reliability Engineering
- Speak English Professionally
- The Science of Well Being
- Learning How to Learn
- Financial Markets
- Hypothesis Testing in Public Health
- Foundations of Everyday Leadership

- Deep Learning
- Python for Everybody
- Data Science
- Applied Data Science with Python
- Business Foundations
- Architecting with Google Cloud Platform
- Data Engineering on Google Cloud Platform
- Excel to MySQL
- Advanced Machine Learning
- Mathematics for Machine Learning
- Self-Driving Cars
- Blockchain Revolution for the Enterprise
- Business Analytics
- Excel Skills for Business
- Digital Marketing
- Statistical Analysis with R for Public Health
- Fundamentals of Immunology
- Anatomy
- Managing Innovation and Design Thinking
- Foundations of Positive Psychology