返回到 Mathematics for Machine Learning: PCA

4.0

星

1,936 个评分

•

467 条评论

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.

筛选依据：

创建者 Sergii T

•Dec 22, 2018

Course is targeted more on pure math derivations, rather then real world applications. For my opinion, it doesn't fit well with other courses in this specialisation. it goes too Deep in math derivations. It should fit for students interested in mathematics and not engineers, who want to get more insights in ML related math.

创建者 Akiva K S

•Jun 13, 2020

I passed the course with good grades, I like an idea of such course. But my opinion is: the course needs substantial improvement. Period. I personally enjoyed listening to Marc Peter - he's an excellent lecturer and super-smart guy. His book on math for Machine Learning is challenging, but almost perfect. But the course itself is a disappointment. 1) Precious lecturer's time is _wasted_ on explaining very basic concepts such as mean and variance... to make the course accessible for poor gals/guys with no math in head at all and, consequently, to enable Coursera to earn more $$. But it doesn't help - what they'll do in Week 4 once eigenvectors with show up from nowhere?? Unfortunately the course is not for them

2) Lecturer wastes his _super precious_ time by multiplying matrices by hand. Screw it. I'm also lecturer at university and from my experience such demo should be done once/twice. And after that, guys, matrix operations in numpy have to be demonstrated in the class, otherwise practical exercises could be done only by those with solid prior experience in Python + NumPy

3) Quality of practical assignments is below any critics. Some cannot work at Coursera platform, they should be run locally and to run Jupiter Notebook locally one has to be seasoned Python programmer and good DevOps. Guidelines to practical assignments do not guide at all. SW practices in assignments are dubious.

Bottom line: kindly advice to develop two courses - overview for those without linear algebra knowledge at all, and normal one - focused on Week 4 material. Coursera format with 5 minute lectures cannot accommodate such course? Leave this platform, Marc Peter is great lecturer and specialist, his name should not be associated with such failure.

Regards,

Akiva

创建者 James P

•Jun 10, 2018

After taking/passing the two previous courses, this course is very disappointing. The programming assignments are more about numpy/python peculiarities (which dimension is D or N) and deciphering cryptographic specifications (X is documented as an input but not a parameter to the function). The misleading templates appear to be intentional - it is not clear what educational purpose this serves. The difficulty in this course is not conceptual understanding - it is difficult because the assignments are intentionally confusing. Another point regarding programming in general. This course prefers implementing numerous functions (no testing), generating large amounts of random data as input, and assuming all goes well. Perhaps each function should be tested for correctness individually with known input/output - this is not a novel idea.

创建者 Tathagat A

•Jun 15, 2020

The lecturer was not always understandable.

创建者 Israel J L

•Jan 06, 2019

Great course !! Definitely it's an intermediate course so if you don't have a college level in lineal algebra and calculus you'll struggle with the videos and the notebooks (besides you need basic level programing in python and numpy)

The videos are kinda hard but it seems that Marc it's a great mathematician and also he shares a great e-book written by him that has everything seen in the course and more, so with this you can get all the knowledge need it to understand PCA.

I don't understand why it's only 4 stars rated; again if you want to learn linear algebra and calculus, this is not the place... you need to have the needed level to suceed.

创建者 Kozlov, M

•Jul 05, 2020

I'd like to say thanks to everyone who has made this learning experience possible.

Thank you, Marc. Your explanations combined with the book "Mathematics for Machine Learning" have come really handy.

It has been an amazing journey to see how linear algebra marries multivariate calculus to give birth to to PCA.

Being a linguist, I must admit I'm quite new to Python and the domain of machine learning. It would be great if you could add some polishing touches to the programming assignments, especially the one in Week 4 (PCA): waiting for a long time until the system finishes crunching the code was quite a slow experience. If that has to do with a student's sloppy code, please add some recommendations inside the assignment on how to avoid this trap. If that is caused by some technical issues on the server side, please take a moment to look at this.

That you have added the Python tutorial is really helpful. Could you also consider updating it with some details on how to sort eigenvectors and eigenvalues to collect these into a covariance matrix. This piece was mighty tough.

Thank you once again. Keep on!

创建者 Andrea V

•Jun 22, 2019

This course is hard, and contains a lot of mathematical derivations and concepts that might be overwhelming for somebody not completely fresh in maths. Nevertheless, it offers a good balance between rigour and practical application, and if some lectures turn out to be too complicated, there's always the chance to deepen the matter more quitely using the course material or online resources. I think that the course would have benefited from a more aneddoctical approach at times: for instance restating in english what the general purpose of PCA is, could help the less mathematically inclined to better seize the idea. But I know this is not always easy to do.

创建者 Arka S

•May 27, 2020

Frankly, after the high of the first two courses of this specialisation, this one was a low. Instruction was typical of most Universities; heavily analytical and monotonous. This was not a proper way, especially for such a complicated (for beginners) topic like PCA. This course could've been executed in a much better way.

Still a lot of insight is there to be gained, and I learnt quite a few things. The simplification of the cost (or loss) function was explained well, and I had quite a few 'Aha!' moments in this course as well (in Weeks 3 and 4), albeit not as much as I did in the first two courses (Lin Alg and Multivariate Calc).

创建者 Ruarob T

•Jun 30, 2019

Make sure you have time and be ready for python code debug. If you are just an average programmer with limited python exposure like me. It will take you a day to complete the programming assignment.

Note: the assignment and class VDO seems a distant - google a lot during the assignment/quiz

Note: Programming has little clue - personally, I think I spend so much time on programming (distracting me away from going back to Math review)

创建者 Berkay E

•Aug 09, 2019

-Some of the contents are not clear.

+It gets great intuition for new learners in machine learning.

创建者 sairavikanth t

•Apr 29, 2018

Lot of Math. Couldn't get proper intuition regarding PCA, was lost in understanding math equations

创建者 Jessica P

•Aug 06, 2019

I agree with the others. Course didn't merge well with the 1st two which were perfect!

创建者 Clara M L

•May 01, 2018

Not as good as the other two courses but still very intuitive

创建者 Shilin G

•Jun 27, 2019

Not as good as previous two courses. I understand it is an intermediate course, but still, the video does not help you do the quiz, e.g. the video uses 2x2 matrices for example while quiz is mainly about 3x3 - then why not include a 3x3 example? Programming assignment is not clear either, some places you have to change the shape of matrix but it is not explained why this is necessary (and actually it is not). A lot of room for improvement here.

创建者 Djambar

•May 17, 2020

Very challenging course in terms of computing ; one have to always go to the forum which is very active and function like StackOverFlow. You must have somme skills in PYthon, an intermediate level in matrix algebra and deserve a high amount of time and effort to do the assignments but at the end you get a good comprehension of PCA algorithm.

创建者 Ustinov A

•May 28, 2019

Unfortunately, mistakes in grader and a bad python environment spoilt the impression. I lose hours because of it during 1, 2 and 4 week. It's not enough exercises last week. You should add more examples for every step of PCA for better understanding.

创建者 Yougui Q

•Jun 03, 2020

The course is relatively harder than the other two courses in this specialization. The lecturer didn't provide understandable examples while demonstrating the concepts. The grader for Python assignments didn't function well either.

创建者 Yiqing W

•Mar 28, 2019

The teaching is good but some programming assignment is not so good

创建者 Narongdej S

•Jun 29, 2019

Confusing for beginners; the explanations are too abrupt

创建者 Kenny C

•Jul 22, 2020

This course was very frustrating. I would say that I'm quite competent in math, but I still struggled, not necessarily because the content is challenging, but because the instructions are unclear. I like that the lectures go through derivations in detail, but the instructor often skips steps. Sometimes he would reference a property of matrices that were not talked about, and I would have to spend half an hour researching what that property was to follow what was happening. The quizzes were minimally helpful, as they were merely the same computation question repeated throughout the quiz, which does not help to build intuitive understanding. The programming assignments are unclear on instructions and had many bugs, even in the pre-written parts. A lot of time was spent on reading the NumPy documentation, as the assignments gave little indication of what functions should be used and how they should be used. Overall, despite having a mathematical derivation of PCA, the course is very confusing and frustrating, perhaps even to those competent in this area of study.

创建者 Astankov D A

•May 26, 2020

Although the lecturer admits that the course is quite challenging at times, it is a poor justification for the terrible assignments with close to zero explanations, errors in functions and lots of misfunctioning code in general where the notebook keeps spinning in an infinite loop. I was very hesitant while rating this course - sometimes I wanted to give it 4 stars and sometimes just a single one. I ended up with just two due to the really bad final programming assignment.

创建者 Karl

•May 30, 2020

Pretty bad in comparison to the previous 2 courses. Not sure if the topic was just harder or it was presented less clearly. Assignments were confusing and I spent a lot of time trying to work out what I was supposed to be doing. More relevant practice questions might have been better. Also course felt slightly detached and maybe collaboration between the tutors which seemed to be there in the previous course should have happened here.

创建者 Yana K

•Apr 18, 2019

Not really well structured. Too much in-depth details, too little intuition given. Didn't help to understand PCA. Had to constantly look for other resources online. Pity, because first 2 courses in the specialisation were really good.

创建者 Ali K

•Jun 03, 2020

the instructor is knowledgeable but he has no teaching skills what so ever. He makes things very confusing. An example at the end would be very useful. No step-wise algorithm is provided.

创建者 Patrick F

•Feb 01, 2019

The programming tasks are very bad documented and have errors.