Вернуться к Mathematics for Machine Learning: PCA

4.0
звезд
Оценки: 2,810
Рецензии: 698

О курсе

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

6 июля 2021 г.

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

16 июля 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.

Фильтр по:

1–25 из 695 отзывов о курсе Mathematics for Machine Learning: PCA

автор: Hashaam S

30 дек. 2018 г.

This course does not include real-world examples as compared with other 2 courses in the series. The other lecturers energy was quite obvious and the lecturer in this course does nothing extra. This is the traditional teaching method where we should keep on grasping theory without understanding applications.

While I have learned many new concepts, I am 100% unsure I have not understood the course in general.

The assignments in the course was poorly constructed and the lectures did not explain anything more about numpy methods.

I will not recommend this course to anyone.

автор: Maximilian W

29 апр. 2019 г.

The first two courses in the Mathematics for Machine Learning specialisation are excellent - even amongst the best online or traditional maths courses I have taken. This course was seriously lacking. Not in content, or even the ability of the lecturer, but rather in how the information is conveyed. There are some excellent reviews which elaborate further in to the problems with this course, so I will not labour over them all. In essence, if you are learning in your own free time, the poorer information transfer is not appreciated.

However, this course is important, but if you are unsure of whether or not to invest your time into starting this course (now) , I think the following questions are good to ask. Are you:

1) fairly competent in maths, at least significantly beyond the first two courses. This is not because the underlying maths is hard, but the way the information is conveyed, will require more firm knowledge, or, are you:

2) willing to be frustrated, and grab additional resources. You need to be patient to get the most out of this course. The previous courses were great at guiding, and in large part spoon feeding. This course is different, and you have to be happy with that.

3) proficient at numpy and python. I would invest time before the course working on basic numpy skills, as this will make the assignments much easier, and allow you to focus on implementation of learning rather than debugging, and pulling out of hair.

The two star review is because this course didn't provide the high quality expected from the first courses, however the content and end learning result can not be questioned as poor.

автор: Eric P

26 апр. 2019 г.

There is little reason to take this course except for gaining the satisfaction of completing the three courses in the series. There are briefer, more satisfying introductions to PCA elsewhere. This course has too little of what made the other courses in the series so good and shares too much of their shortcomings. Where the other two courses excelled in demonstrating an intuitive understanding of both the maths and their applications, this course really avoids all effort at intuition or examples and instead just throws formula after formula at you. You are then given programming assignments where at least half the effort is to try to understand what is being asked before you start to work to implement it. This leaves you more with a feeling of only having completed assignments and less a sense that you’ve developed a capability in either the maths or their applications. In the end, I am left with a strong desire to learn more about the maths of PCA and their application only because I am eager to hear the subject matter explained by someone else.

The other two courses demonstrated the potential of how good e-learning can be. This course is just another example of its shortcomings.

автор: Christos M

27 апр. 2019 г.

Unfortunately this course does is of much lower quality than the previous courses of the specialization. There is no progression towards the assignments which basically ask you to implement something without any context. There was even a technical issue with the grader for the first assignment.

If you want to complete it to finish the specialization, you need to seek help in the forums as there are a lot of helpful answers.

автор: Ткаченко В Е

24 мар. 2019 г.

Algebra course is excellent. Calculus course is good. PCA is so bad that I am still upset that I spent my time on it.

автор: Avirup G

18 февр. 2019 г.

Very poorly written/performed material with inadequate coding help. The engagement level is quite low. Will not recommend if you have novice programming background or new to math concepts.

автор: Alexandra S

26 сент. 2018 г.

Worth auditing because the video lessons are good but unless you have solid Python programming experience, the assignments and some quiz questions will take you days instead of hours. The course info states that you would need 'Basic knowledge in python programming and numpy'. This is to be understood as 'solid practice, at least intermediate level'. 'Basic knowledge' simply does not make it possible to finish these exercises within the given timeframe (1-2 or even 3-4 hours).

As many others, despite having no problem with the maths, I gave up during week 1 because of this issue and of not having this amount of free time while already working full time. This should be emphasised in the course description, apart from the extra mathematical creativity that already appears there. And it should also appear in the description of the whole specialisation, which states that programming experience 'comes in handy but is not necessary'. Many people who start doing the courses are determined to finish the whole specialisation.

автор: Bryan S

19 февр. 2019 г.

This course needs a lot of work to get to the level of quality of its two predecessors.

автор: sreekar

23 окт. 2018 г.

The instruction is absolutely bad and not worth it. However, if you have patience to re-watch, refer to other supporting materials, learn on your own a lot and then have patience to deal with programming asssignments ,...then you might find the final result useful.

автор: Harshit D

30 июля 2018 г.

Loved the first two courses but felt like killing myself in this course. One of the worst professors i have ever encountered.

автор: Brock I

21 нояб. 2018 г.

Way too hard compared to the other courses in the specialization. I feel like I wasted my money on this.

автор: Guillermo A

15 июня 2020 г.

I agree with most other reviewers that this course is more difficult than the previous two in the specialization. However, I disagree with some of the very negative reviews. I believe the instructor does generally a good job (and is clearly extremely knowledgeable and competent) except:

(1) Sometimes, in the derivations, he glosses over steps which are probably trivial to him, but that are not so trivial to many in the audience (in my case, I had to replay some of these derivation steps a few times until I could understand them)

(2) As some reviewers have said, a few more detailed examples here and there (as opposed to quickly flashing some sample data plots) would be helpful

(3) The instructor could use a little bit more of charisma to try to show that he is excited about the subject he is teaching, and thus make his audience more excited about it (but granted, that is a personality trait that doesn't come easy to most professors and instructors).

As for the programming exercises, which have been amply criticized in other reviews, I agree there's little guidance on how to approach them, but for anybody with who has understood the lectures fairly well, and with enough programming experience, they should not be that hard. It's only a few lines of code that need to be written in all of the programming assignments.

автор: Roy A

23 сент. 2020 г.

First 2 courses in this specialization was really good, so I'm very dissappointed here. My main issues are the following:

The lectures are not clear enough, for about 75% of the assignments, I had to look up alternative lectures on youtube to get the point, if I have to find the majority of the information outside of Coursera, then what is the point of the course?

Sometimes there are no examples in the lectures, other times, the examples are too basic. So once I got a more advanced question , I was clueless how to solve it. Sometimes the first question on a quiz is much more complex than the example in the lecture.

The lectures requires you to be very comfortable with math notation, which I'm not. As mentioned earlier, some more examples would have solved this for me, but as the examples are lacking, I was simply unable to understand what was being written on the lecture, and had to look elsewhere. Note that the math itself wasn't hard(once I found someone else to explain it), just understanding what the lecturer meant.

Some steps in lectures are missing, I guess they are obvious if you have the correct prerequisites, but to me it was just a black box. "We have x,y,x. So then we get x+z,y!", why? no idea, I still don't know why we get x+z.

Programming assignments are hard for the wrong reasons, the math is not that hard, the python and numpy is basic, but the explanations of what the function is supposed to do is not clear. When I got stuck, it was usually because I didn't understand what the output of a function was supposed to be. As this is a math course, I would expect the challenge to be the math, not something else.

To sum up the above points, I think the course lacks a good understanding of the base skills needed to complete the course. Since I had no problems with part 1 and 2, and then ran into a wall at part 3(PCA), I think these parts should be better synced, if they are to be part of the same specialization.

автор: Rahul M

29 июня 2019 г.

The instruction content was superb, though the tests were unrelated to content. I realize that there is a lot of criticism of the course here, but if you understand and code in Python, they are not hard. I wish the course staff had made the Jupyter notebooks more clear, giving us an understanding of what was required, if that was done this is a good, though very hard (in terms of mathematics) course.

автор: Nimesh S

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.

автор: João S

2 мая 2019 г.

It is a good course but some problems must be reported. Despite the previous courses from the specialization, I missed the conceptual explanations, the development of intuitive understanding. The support is almost inexistent: questions on forums are not answered by lecturers or mentors, some programming exercises requires knowledge not even mentioned on classes and I feel it is a non necessary knowledge at all to the purpose of the course. Some tutorials would help. Only other students make things clearer at some points. Some lectures have "magic passes" not explained, specially on PCA subject itself, week 4. Maybe the courser could have a additional week to teach things in a better way.

автор: Jong H S

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.

автор: Martin B

22 окт. 2018 г.

Overall: worthwhile content, but poor execution. Especially assignments need improvement.

Good points:

-The contents tend to be worthwhile.

-The instructor is thorough and clear.

-To those who are not as familiar with mathematical terminology the instructor is a tough act to follow sometimes.

-The great disappointment of this course lies in the assignments. They don't really add to my understanding of the mathematics involved, and are quite often a distraction because the assignments are quite inflexible in terms of coding: you'll have to stick quite close to what the instructor envisions, or you will fail. This is especially frustrating because you will have a hard time figuring out whether you failed because your code was faulty or because your conceptual understanding was faulty.

автор: Oliverio J S J

29 мая 2020 г.

This course is awful. The videos have no useful explanations, the speaker seems to be reading some slides. The provided material is really bad; there are even links to wikipedia! The difficulty level of the assignments is beyond the one proposed by the lessons. The programming tasks consist only on reproducing formulas; most of the time you are struggling with numpy implementation issues. In summary: stay away from this course.

автор: Christian R

24 июля 2018 г.

Frustrating. Videos and material does not cover what it is asked for in the quizzes and assignments.

автор: JICHEN W

27 окт. 2018 г.

Explanation of course material is not clear

автор: José D

31 окт. 2018 г.

This course is harder that the the two first ones. You have to do a lot more by yourself. There will be some frustrations with assignments that are not always easy or clear, with confusing python/numpy notations not really introduced during the course. Also, most assignment didn't work online, so I had to install python3 and jupyter to work on them locally and submit them manually. You should expect to spend more time than announced. All in all, I've learned new things and that's the most important. I believe there are room for improvement for this course.

автор: Jayant V

1 мая 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!

автор: SUSAN H M

21 окт. 2019 г.

Some people complained about this course or specialization such that there was not enough help or the instructors were so lazy that a lot of the time, they just rushed through and ignored the details. But I LIKE this course and this specialization. All those complaints expressed by some people worked to my advantages. I do not need someone to monitor me at every step, so I do not mind the instructors stay out of discussion forum most of the time. Indeed, the most recent reply from an instructor I saw was a year old (or 2-year old, don't remember exactly). I would have genuinely hated this course or specialization if the instructors intervened at every step.

Throughout this specialization, I was able to discuss course contents and algorithm codes freely on the discussion forum. That really enhanced the learning experiences. I did not feel that my learning journey was micromanaged and I truly valued that freedom to develop my own understanding and insights.

I gave all three courses in the specialization a five-star review (would give six stars if that is available). I would definitely take another course by the instructors on Coursera.

автор: Tobias L

10 сент. 2020 г.

PCA is derived using the mathematical approach. I liked this, it was systematically done by the lecturer without leaving me puzzled on how he did it. If you do not like maths, sums, the delta operator and so forth this might not be the right course for you.

However, the course is quite buggy and needs a mayor overhaul. Quizzes in the videos have no answers, the practial assignments have quite some bugs - outside the code, we are supposed to edit.

Fixes for these bugs can found in the forums or - given enough Python and NumPy knowledge - be fixed by one self. Yet the instructors do not fix these once and for all. To me this seems lazy and I expect more from a course that is paid for and has an audience that is mostly doing this during afterhours and wants to learn something about PCA and not on how to find workarounds to please the AutoGrader. Without these issues and I would have given the course a 5-star rating.