返回到 Mathematics for Machine Learning: PCA

4.0

星

1,910 个评分

•

455 条评论

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.

筛选依据：

创建者 Andrei

•Nov 01, 2018

terrible assignments

创建者 Amar D N

•May 30, 2020

I have already completed this course but i felt like i needed to share my frustration regarding this 3rd course of the specialization. First of all, the previous two courses were excellent! I am not judging based on difficulty, those two courses opened my eyes on linear algebra and calculus. But this 'PCA' one is utterly disappointing. It revisited some theories of the previous courses in such a bad way.

If most of the things need to be learnt through the reading materials then is it justified to do this course? I mean I can find even better reading materials on the web. The only reason i kept on going is to go through the PCA portion of week 4. All topics of previous weeks were already covered by me that's why i didn't have to struggle much. But the explanations were quite inadequate and proofs of the theorems felt like rushed. I somehow managed to reach the final assignment and then my real frustration began. The grader was giving inappropriate results, submitting my code gave me 2/3 out of 10. after resubmitting with the same code multiple times, I finally passed the assignment. Won't recommend this course to anyone.

创建者 Rachel S

•Jul 09, 2019

After the first two courses in the specialisation, this one was truly disappointing. You are warned at the beginning that this course is challenging. This is true, but there is absolutely no reason why it should be THIS challenging. There are several factors that make this course more difficult than it needs to be. The poor pacing leads to a bizarre mix of repetitive trivial questions and vague assignments with poor explanation and over-reliance on reading external sources. Nobody wants constant hand-holding but the lack of direction will lead to you wasting far too much time chasing down minor technical errors and figuring out what on earth is being asked of you. Finishing this course was a slog and I just wanted to wash my hands of it. The first two courses in this specialisation are great and I highly recommend them, but I would not be happy if I had paid £38 for this course.

创建者 Mikhail D

•May 27, 2020

I really loved the first two courses in the specialisation, but this one honestly is a disaster. This is bad teaching at its finest: "I'll throw a bunch of formulas at you and it is your job to figure out what they mean", "Here is an important concept that is critical to understanding the material, but I don't have time to cover it so please check it out Wikipedia instead".

The lecturer shows no passion to the subject whatsoever and spends all the time writing out monstrous formal definitions instead of trying to build student's intuition of what things really mean. This is exactly what Sam and David were so good at in the first two courses, and it is a real shame they had to replace them for this final course.

As others pointed out programming assignments are indeed poorly constructed, with lots of pitfalls and generally speaking very frustrating.

创建者 Gabriel W

•May 23, 2020

I did the 3 specialization lessons "Mathematics for Machine Learning" (Linear Algebra, Multivariate Calculus, PCA). I really had a lot of fun and learnings in the first one (5 stars for Linear Algebra): David Dye is an increadible teacher. The second one is okay (3 stars for me). In the third one (PCA) the expected knowledge difference between the lessons (easy to follow) and the programming tasks of weeks 2 and 4 was to high and to much challenging for me. I had no fun to pass the corresponding tests and I have finished the lessons with the only one target to be done. It doesn't correspond to what I'm looking for when I'm learning during my week-end.

创建者 Nathan R

•Jan 22, 2020

This was a terrible course in every way possible. DO NOT waste your time and money on it. The lecturer skips over things way too fast and delivers poor explanations, and then gives ridiculously hard programming assignments when this course is supposed to be mainly about maths. Moreover, he asks quiz questions about topics he doesn't even cover in the lectures, and the answers provided are terrible. Very poor quality course, which is a shame, because the other two courses in this specialization are actually worth doing.

创建者 Naveen K

•Aug 09, 2018

I've finished all the two previous courses in this specialization.I was shocked at seeing the content and programming assignments given to us.It was totally different.They expect a lot from us.Content is not up to the mark.First two courses was awesome.But this course is an exact opposite to the first two.Totally disappointed!! I was hoping to finish this specialization.But it seems I cannot. I didn't expect this.

创建者 Ong J R

•Aug 11, 2018

Concepts weren't taught well and programming exercises are full of errors. Very difficult to debug and find out if I am on track during the programming exercises. Lecturer lacks passion and ability to convey core concepts well to audience. Hard to follow up on the mathematical derivation with the simple stuff that we were taught in module 1 and 2.

创建者 Valeria B

•Jun 26, 2019

Too few examples given during the lessons. More examples could greatly improve understanding and the solution of quizzes and programming assignment.

I had to integrate this course with multiple sources I looked up for by myself, so I'm really wondering if I wisely spent my money on this course.

创建者 Yaroshchuk A

•May 22, 2020

Instructor writes down equations and formal definitions while reading out loud what he is writing. None further explanations are given.

Basically whole course is a voiced list of equations together with some links to Wikipedia which even further empathize pathetic quality of content.

创建者 Alisa G

•Jul 23, 2020

The lectures are only partly related to the quizzes and assignments, some parts are just unnecessarily over complicated and confusing. The final and most important assignment is so computationally heavy so it's hardly running locally

创建者 Shubhayu D

•Jun 13, 2020

The first two courses in the specialization were extremely good. However, this course is nowhere close to them. Neither does the instructor provide enough intuition, nor do the assignments help in the learning process.

创建者 Abhishek S

•Jun 07, 2020

The first two courses of this specialisation were awesome PCA being a hard topic is difficult to understand but the course was boring and not good compared to previous two.

创建者 용석 권

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

创建者 Benjamin F

•Nov 18, 2019

The didactic value of this course is rather low. The lectures do not explain the very concepts required to sovle the subsequent assigments, or do it in a very poor way.

创建者 Kareem T M

•May 18, 2020

Worst Course I have ever token on Coursera, the instructor hadn't mention any examples or simplify the information.

创建者 HARSHIT J

•Jun 12, 2020

Very tough course, the first 3 weeks are good, but the last week is as poorly explained as one can imagine

创建者 Michael B

•May 16, 2020

If I could give it negative stars I would.

创建者 Mohamed S

•Jun 01, 2020

topics are poorly explained and confusing

创建者 Marco v Z

•Jul 19, 2020

I was somewhat put off by critical comments about the third course in this series, but have to disagree with the reviewers. Yes, it is tougher and, yes, the instructor doesn't have the "schwung" of the other two instructors, but that doesn't affect the quality of this course. His walkthrough of the derivation of PCA is thorough and systematic, and builds on material that has been presented in the earlier lectures.

In fact, looking back on the entire specialisation, I would retrospectively grade the first two courses a notch lower (even if they're excellent), simply because they "sailed through" a bit too easily. The exercises in those courses required little thinking apart from recalling what was said in the lectures. In this course, exercises tended to go beyond or ahead of the material presented in the lectures. Solving them required active thinking, reading, and problem solving, which in the end brings a more thorough understanding.

创建者 Fredrick A

•Feb 21, 2020

The coverage of PCA provided by the instructor was wide and provided me with an intuitive basis for executing the PCA algorithm in the wild. Ultimately, the subject and its various steps were easy to understand. That said, I gained many great insights watching Khan Academy videos especially ones on eigenvalues/eigenvectors. By far the hardest part of the class was implementing and executing the python code. There the devil was in, and sometimes, outside of the details. I cursed the name of the Instructor more than once (a lot more). But, in the end, because of the real life, no safety net experience, I was able to jump right into PCA (and other feature engineering projects) adding value to my team at work on day 1.

创建者 Abdu M

•Jan 20, 2019

Best course out of the series so far. A fine balance between theory and derivations, and practice with the programming assignments. It seems that they have solved their programming assignment issues (the first one still has some problems with the grader I believe). This course does require you to have some prior experience, though, so if you are new to programming or linear algebra (not just the concepts but how to apply them) it's bets to take the first two courses with some additional help (maybe Khan academy or even MIT OCW. I will certainly refer to this course in the future, as well as the professor's book on Mathematics for ML.

创建者 Laszlo C

•Dec 06, 2019

This is an excellent course first covers statistics, looks back to inner products and projections, thereafter it connects all of that and introduces PCA. The knowledge that you've gathered throughout the first two courses gets applied here. Granted, it's more abstract and challenging than the others, I wouldn't give a worse rating just because of that. You'll need to dive into certain topics on your own and if you strengthen your coding skills for the programming exercises. Nevertheless, it's just as highly rewarding as the first two.

创建者 Douglas W

•May 22, 2020

This was the most challenging of the three classes in the series. I thought the instructor did an excellent job of moving from theory to practice, and in the end I came away with a good understanding of the topic. As a developer, part of my personal learning style is to shadow these types of lectures in code. I did (or attempted) naive implementations on most slides - that definitely helped my comprehension of this challenging material. Be prepared to work hard, occasionally head scratch and you'll do fine.

创建者 Jitesh J T

•Dec 24, 2019

Hi,

The course tries to cover most of the important mathematical concepts in Mathematics applied to PCA. The assignments were a bit tough, but i guess that the road ahead when we do programming for data sets in real world applications would not be that easy. Loved the way the lectures were delivered and the programming assignments help to build a strong base for applications of linear algebra that we have done earlier.

Thanks and Regards

Jitesh Tripathi, PhD in Applied Mathematics