Back to Mathematics for Machine Learning: PCA

4.0

983 ratings

•

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

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:

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 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 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 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 ABHI G

•Aug 22, 2018

not so good

:(

By Scoodood

•Jul 28, 2018

Video lecture not as intuitive as previous courses.

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 Xiao L

•Jun 03, 2019

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

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 Michael 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 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 Jared E

•Aug 25, 2018

Impossible to do without apparently an indepth knowledge of python.

By Marcin

•Aug 19, 2018

By far the worst online course that I've ever done. Assignments require a lot of experience in Python, which is not communicated upfront. At the same time, staff doesn't provide any actual support.

By Nithin K

•Jun 05, 2018

Too conceptual and theoretical making it difficult to understand. Examples would have helped a lot.

By Kannan S

•Apr 11, 2018

There are no numerical examples as the course progresses. The instructor does everything algebraically. As a result I was not able appreciate the practical use of PCA. Later on I saw there are very nice videos in Youtube that illustrate the concept more lucidly using numerical examples. I am disappointed.

By Cynthia M

•Jun 09, 2018

The course is mathematics for Machine Learning. Yet, they require that you are proficient in python. I understand the mathematics. However, no one will answer my questions on the python we are suppose to code. I passed both of the previous courses. I've taken and passed Statistics with python on edX. I've very disappointed in this course.

By Matt C

•Jul 01, 2018

I was expecting to learn a lot in this course. I did not. The lectures don't really explain much at all and then you're thrown a quizzes and assignments that do not match what was in the actual lectures. The rest of the specialization was great but this course falls of the other two.The explanations in the videos are very poor. Really disappointed.

By 熊华东

•Jun 08, 2018

This course is far far far behind my expectations.The other two course in the specializition is fantastic. There is no visualization in this course, Instructor is always doing his algebra, concepts are poorly explained. I can't understand a lot of concepts in this course because of my poor math background.But why do i take ths course if i have a solid background in math? Programming assignments is not difficult but hard to complete because of vaguely clarification.Plenty of time wasted to find what should i do, its' really frustrating.

By Kristina S

•Aug 24, 2018

One of the worst online courses I have had. Inconsistent teaching, relaying on students having previous knowledge about Python and rads (where the heck did that come from?), failing to convey what and where this is practically used for.

By Vibhutesh K S

•May 18, 2019

This course is really bad and extremely hard to follow. Previous two courses were executed very well, teaching quality in this is poor.

By Horacio G D

•Jul 31, 2019

Feedback for the assignments sucks! The discussion forums don't help. I have to submit the last assignment last 6 times until it work, and I still don't know why my previous versions didn't pass. Other than that, the lectures are actually very good, but the only one worth the time is the fourth one, the other three are just the first course (Linear Algebra) all over again.