Mathematics for Machine Learning: PCA(으)로 돌아가기

별점

2,835개의 평가

•

708개의 리뷰

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

WS

2021년 7월 6일

Now i feel confident about pursuing machine learning courses in the future as I have learned most of the mathematics which will be helpful in building the base for machine learning, data science.

JS

2018년 7월 16일

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.

필터링 기준:

교육 기관: Tony J

•2020년 10월 2일

This course is remarkable for the rigour it takes you through to understand the PCA. If you make it through and understand everything it is well worth it.

Unfortunately, you will almost certainly need to supplement the course with materials, videos, and theory from elsewhere, because a great bulk of the lectures are not intuitive, you might as well be learning from a rather obtuse textbook.

The assignments as many have mentioned, continue to have bugs and errors, despite the recent attentiveness of the course staff on the forums.. hopefully they will be fixed soon. At least they've finally included a Numpy tutorial.

Overall though. I have to say, this course, if you stick with it, will force you to get a robust grasp of the linear algebra that you've been taught so far, and it is a good exercise. Although, it's certainly not a smooth ride.

교육 기관: Sanjay k

•2018년 8월 14일

I was frustrated at several points during the course - I had to scour the internet for material to improve my understanding which defeated the purpose of taking the course (math and intuition behind PCA for instance). I felt as if the instructor was reproducing material from textbook on the board. I would guess that the abandonment rate for this course is relatively high (in-spite of the introductory nature) because of monotonous delivery and lack of intuitive explanation of concepts (vs. Khan Academy/Andrew Ng for instance).

교육 기관: Luis M V F

•2019년 3월 20일

I am very disappointed with this course. It was very hard to follow, and not because this is challenging, but partly because the instructor is not so good. I had to read a lot on my own to be able to complete some assignments. I hope you can improve the content of this course. The best course of this specialization is the second one, and this is the worst.

교육 기관: Sergii T

•2018년 12월 22일

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.

교육 기관: Jian L

•2020년 10월 23일

The topic of this course is an important and extremely useful concept and approach for Machine Learning and other applications. However, the way it was taught was ineffective for learning (to me personally and I suspect to many others as well) regardless of our different backgrounds or lack of strong math skills.

Although the concept of PCA is rather simple, its computations and the interpretations & meanings of each transformation are challenging without examples and visualizations. We did have some examples in the course, but not detailed and complete enough to fully understand PCA intuitively and thoroughly.

One ended up spending huge amount of time reading additional relevant articles on internet, fishing out useful information from Discussion Forums, yet still struggling a great deal to write codes for completing assignments. Even though the codes run through without returning mistakes and one gets "pass", there is not much satisfaction and joy one feels in learning because sometimes, the initial learning from listening to the lectures was so insufficient and inadequate for doing the assignment that one simply completes the task doing all one can without further understanding and solidification of the knowledge.

This feeling is in such a huge contrast to those when learning the two other related courses in the Specialization (Linear Algebra and Multivariate Calculus) during which one enjoyed immensely the learning process as well as the content. Here I do not think that one can attribute the difference to the seemingly higher level of difficulty of PCA. The instructors for those two courses did an excellent job to explain things intuitively and thoroughly.

Marc is an extremely knowledgeable and competent professional. By changing the teaching style more in tune with the learners, I am sure more people will learn a great deal from this course and enjoy the learning process in the meantime. Thank you for the hard work put into teaching this course all the same.

p.s. If the teaching staff involved can fix all technical issues or mistakes related to the Assignments, it will greatly benefit the learners. Thank you.

교육 기관: Mikhail D

•2020년 5월 27일

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.

교육 기관: Kathleen D

•2020년 12월 10일

This course covers critical material, but unfortunately does not present them well. I found myself having to constantly find outside resources for clearer explanations. For many topics, the course itself makes no attempt to explain them, but just presents links to dense reading material and, in a couple of cases, Wikipedia articles. In my opinion, if you're linking to Wikipedia for core components of the course, you're no longer justified charging for that course. The lectures are spent deriving formulas, but providing little or no intuition about what they mean or how they are used. The course does not prepare one well for the final lab in particular, which felt like a disconnect from the lectures, had unclear explanations of what to do, and contained errors in the provided code. I did power through it, and I did learn something about PCA, but feel like I needed there to be something more to cement what I learned in practical understanding.

교육 기관: Thomas B

•2022년 6월 4일

While the first two courses in the specialization were excellent, the negative reviews here are on-point as this course was a terrible experience. The prerequites don't match the course, or those of the previous courses. The course heavily uses formal mathematical language that won't be familiar to those who haven't at least taken a few upper-level university math courses. (The stated Python/numpy prerequisites are also inaccurate, but this did not trip me up as much.) Many of the concepts covered are purely academic, such as the formal definition of an inner product; there is little-to-no practical application of these concepts, meaning that much of the course is only useful if you have an interest in pure maths. Unfortunately, given that the specialization focuses on applying these concepts to machine learning, this means that the course barely helps the average learner who wants to learn more about machine learning. The assignments are very poorly implemented. Like others have mentioned, the instructions are unclear and there are possible bugs within the tests themselves. Comments sometimes are sloppily copy/pasted between code blocks, referencing parameters that don't exist or giving an instruction that should not actually be done. The facial recognition and script recognition themes of the assignments are really cool, but the poor writing in the assignments make it really unclear how the maths you implement relate to those themes, totally undercutting any practical illustration you may hope to gain. I'll add that the "tests" meant to help debug your code are almost pointless, because there is no feedback on why the tests are failing; that means that whenever a test fails, you may be stuck making random changes to your code in the hope that some arbitrary change will work.

The lack of a cheat sheet is cruel.

Looking back on the course, it is heavily padded. Weeks 2 and 3 either cover concepts that are not directly used in the PCA algorithm, or which are rehashes of material from the previous two courses. Students could theoretically learn about PCA simply by applying previously taught concepts about projections and eigenvectors to the covariance matrix introduced in week 1. Four weeks of material are simply not justified. PCA is not a difficult concept to wrap your head around if you have some understanding of linear algebra and basic data science. The previous courses made linear algebra and multivariate calculus approachable, practical, and fun. This course, on the other hand, is overcomplicated, light on useful material, artificially difficult, and made me want to pull out my hair.

교육 기관: Akiva K S

•2020년 6월 13일

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

교육 기관: Amar D N

•2020년 5월 30일

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.

교육 기관: Paul

•2020년 8월 5일

The lecturer doesn't provide us with adequate information to connect all materials together. Much knowledge in lectures are not enough or unrelated to completing programming homework or tests. In one of the programming assignment, the guidance is misleading and I believe most of us reached out for help in forum to finish the assignment.

In week one, everything looks pretty simple but the question and lectures are kind of unclear. Everything then goes worse in week two. the programming assignment is a nightmare. If you are familiar with python, you may only spend hours to complete this. Otherwiese you may have to struggle between unclear guidance, bugs and python syntax. Week three is not so bad but a lot of resource are from wikipedia with little illustration. Week four is jammed with auxiliary materials and massive critical PCA knowledge with limited explanation. I simply feel I was fooled to enroll in this course.

교육 기관: Rachel S

•2019년 7월 9일

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.

교육 기관: James P

•2018년 6월 10일

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.

교육 기관: Gabriel W

•2020년 5월 23일

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

•2020년 1월 22일

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

•2018년 8월 9일

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.

교육 기관: Matt C

•2018년 7월 1일

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.

교육 기관: Ong J R

•2018년 8월 11일

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.

교육 기관: Mojtaba B

•2021년 4월 1일

This is the worst course on in this specialization. The instructor is like a robot reading a text book. The material is not well constructed. It's just a bunch of formula after formula, with no intuition. It has a lot of readings, which is annoying in an online course. The programming assignments are challenging, but I found them useful.

교육 기관: Steve

•2020년 9월 5일

Very sketchy presentation of complex material. Each lecture averaged around 5-6 minutes when they should have been 15-20 minutes. As a result the instructor glossed over the material without adequate explanations and derivations. And no one at Imperial College seems to be responding to recent posts in the discussion forums.

교육 기관: Kannan S

•2018년 4월 11일

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.

교육 기관: Valeria B

•2019년 6월 26일

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

•2020년 5월 22일

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.

교육 기관: John Z

•2019년 10월 13일

Marc Peter Deisenroth jumps too much at the important computation steps. Some steps might be simple to him, but it could be very misleading to students.

Often times, he will just throw out some equations without letting the student know what exactly we are trying to achieve.

교육 기관: Rob E

•2020년 8월 11일

Intentionally obtuse. No effort whatsoever is given to helping people learn. The instructors don't answer questions and they admittedly make their lectures hard to understand.

I only took this because there were no other courses on available at the time.

- Google 데이터 분석가
- Google 프로젝트 관리
- Google UX 디자인
- Google IT 지원
- IBM 데이터 과학
- IBM 데이터 분석가
- Excel & R을 사용한 IBM 데이터 분석
- IBM 사이버 보안 분석가
- IBM 데이터 엔지니어링
- IBM 풀스택 클라우드 개발자
- Facebook 소셜 미디어 마케팅
- Facebook 마케팅 분석
- Salesforce 영업 개발 담당자
- Salesforce 영업 운영
- Intuit 부기
- Google 클라우드 자격증: 클라우드 아키텍트 취득 준비
- Google 클라우드 자격증: 클라우드 데이터 엔지니어 취득 준비
- 경력 시작
- 수료증 취득 준비
- 경력 쌓기