返回到 Mathematics for Machine Learning: PCA

4.0

星

1,328 個評分

•

290 條評論

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!

篩選依據：

創建者 kerryliu

•Jul 30, 2018

still have room for improvement since lots of stuffs can be discussed more in detail.

創建者 Ruan v S

•Oct 14, 2019

Harder than expected, the content is good and is well worth the struggle!

創建者 Xin W

•Sep 06, 2019

This course is full of mathematical derivation, so it is kind of boring.

創建者 Jiaxuan L

•Jul 15, 2019

Overall a good course. Very limited introduction to Python though.

創建者 Lafite

•Feb 04, 2019

编程练习的质量不够高，不管是编程练习本身的代码逻辑、注释、练习的质量还是在答疑区课程组的答疑都不能尽如人意，对于编程练习并不很满意

創建者 Clara M L

•May 01, 2018

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

創建者 Ashok B B

•Feb 06, 2020

Course was challenging , but learned the maths behind PCA,

創建者 Cesar A P C J

•Dec 23, 2018

Good content, just need to fix the assignments' platform.

創建者 Sharon P

•Sep 25, 2018

Mathematically challenging, but satisfying in the end.

創建者 paulo

•Feb 11, 2019

great material but explanation are a little bit messy

創建者 Kwak T h

•Jul 27, 2019

Good but slightly less deeper than the other two

創建者 Eddery L

•May 24, 2019

The instructor is great. HW setup sucks though.

創建者 Romesh M P

•Jan 16, 2020

Too much non-video lectures (lot to read)

創建者 Mark R

•Jan 22, 2019

Good, short, overview of PCA

創建者 Changxin W

•Jan 28, 2019

Many errors of homework

創建者 Sammy R

•Dec 25, 2019

Needs more details

創建者 Mark P

•Jul 30, 2019

This course had a lot of potential but there were a number of inconsistencies, cut/paste comment bugs, that make it more challenging than it needs to be. The comments in the notebook exercises should be triple-checked with the text above to ensure consistency of variables. Far too often these would be mixed up, or the input/output descriptions would be incorrect. Or the unit test would have different dimensions. Lectures often left out steps - e.g. "because of orthonormal basis, we can simplify and remove a bunch of terms" - how exactly? A extra few seconds of explanations would allow students to follow more closely. Notation in lectures is sloppy - sometimes terms would be missing and then the video would quietly cut to a correction. "j's" and "i's" indices were interchanged frequently making the derivations how to follow. Also, this isn't a course on unit testing - some more tests should be included to help students debug individual functions rather than relying on the final algorithm (e.g. PCA to work). It should be explained why the "1/N" term for XX^T is not necessary even though it's in the lectures. On the plus side, the added written notes were welcome and fairly well done.

創建者 Yuchi C

•Feb 23, 2020

The lectures (especially the last module) are fast-paced and intense, they're informative and very interesting to do. To complete and fully understand the course contents, heavy self-research is apparently required for students with no to no foundation.

I do not believe that the programming assignments match well with the lectures, they're more about programming than testing knowledge. Compared to the assignments in the first two courses from the same specialisation, the assignments in this course are very difficult for students with little to no coding experience. I highly advise explanation and solutions to the assignments to be published after completion (if possible) so that students get to know where they went wrong.

Overall, I enjoyed the course despite having spent too much time on the programming assignments, trying to spot my mistakes without any direction and dealing with the unstable programming environment.

創建者 Philippe R

•May 16, 2018

Very mixed feelings about this course. First three weeks are OK, but going from week 3 to week 4 is like a HUGE step in difficulty if you really want to follow it all. Which is a pity because week 4 is the whole purpose for the course!

I learned "some" about the subject, but not to the level that I can say I understand it fully.

The assignments are OK, but the instructions are not always all that clear, leaving you at times wondering what is expected from you. And not that it is specific to this course, but the grader feedback is not all that helpful. If that is the only information you rely on to figure out where you may have gone wrong in a programming assignment, fixing your mistakes is likely to take quite some time.

All in all, an "OK" course, but not one that I would take again. I will most likely resort to other sources to get a better understanding of the subject.

創建者 Piotr G

•Apr 23, 2018

This course is overall good in terms of the accuracy and obvious deep knowledge of the tutor. However, after the first two modules of this course I expected a completely different approach with way more conceptual thinking than writing proofs and long derivations which can be found on Wikipedia and other websites. It seems to me that there is a clear mismatch between the styles of the first 2 modules and the 3rd course. I'm giving it only three stars because this is not what I expected, I signed up for this track to gain additional conceptual overview of how maths in many machine learning applications works on high level. On the other side though, the assignments and quizzes were harder in this course which is a big plus.

創建者 Ben H

•Aug 20, 2019

This course had a lot of potential, but unfortunately the pacing, structure, and teaching was not up to the standard of the other two courses in the specialisation. The teacher is clearly very knowledgable about his subject, and seems like a really nice person, but delivers the material in a very direct, formal mathematical style. This makes it much more difficult to gain intuitive insight into the subject matter.

Given the level of the past two courses, this felt like way too big a leap. Don't get me wrong — this course is still worthwhile, but could use some refining.

創建者 Nont N

•Sep 25, 2019

I am a bit disappointed by this course. The professor didn't do much to help learner understand what's the meaning of the math we are looking at. Much of the quiz is just math grinding. The programming assignment require a lot of my effort in programming, but not much on math.

I'm not saying that this course is very bad, but Compare to the previous 2 course in the Math for ML specialization, provided by the same university, this one is obviously inferior.

創建者 Weijie D

•Nov 23, 2019

This is a terrific course, but week2 and week4 programming assignments are disappointing. If there is only one thing to improve, that must be step-by-step feedback.

I know it is important to write test cases on our own, while it is of no use if there are so many things to figure out and we cannot know which particular step where we are stuck.

Not to mention typos in the code provided in hw2

創建者 Loc N

•Jan 14, 2020

This course feels like a spin-off from the previous two courses in the series. The materials are repeated and feels conflicting with the foundations set by the previous courses. A lot of the times, the assignment are not difficult in execution, but are unclear in requirements, making the process confusing instead of intellectually fulfilling - even after having solved the assignments.

創建者 Nigel H

•Apr 18, 2018

I want to give this course a higher rating but I was disappointed; the production standards are as high as ever but the assignments are a bit heavy on the Python. If you are inexperienced in coding Python you may be in trouble. This is not the case for the first two courses of this specialisation. If it is the maths that concerns you .. you are in safe hands. very well taught. Thanks