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.
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.
By Paulo Y C•
great material but explanation are a little bit messy
Good course, but requires mathematical background
By taeha k•
Good but slightly less deeper than the other two
By Eddery L•
The instructor is great. HW setup sucks though.
By Manish C•
Best course for machine learning enthusiast
By Thijs S•
The last assignment could use improvement.
By J N B P•
Good for intermediates in linear algebra.
By Romesh M P•
Too much non-video lectures (lot to read)
By Tanmoy S•
The last course could have been better.
By Kailash Y•
Challenging but in a good way.
By Muhammad F T S•
this was hard but insightful
By Mark R•
Good, short, overview of PCA
By Changxin W•
Many errors of homework
By Poomphob S•
so challenging for me
By Sammy R•
Needs more details
By Shreyas S S•
By NITESH J•
By Raihan N J M•
By Harrison B•
Broadly speaking, this is a good course. However, the feeling is that it should be twice as long and with more videos. There is simply not enough instruction to facilitate clear learning and completion of this course is down to an individual's desire to read around and problem solve.
In particular, the programming assignments - whilst not technically difficult, lack clear articulation of expectation, which is compounded by pythons slightly inconvenient handling of matrices. Writing vectorised code which involves 1 x N or N x 1 matrices and transpositions often results in zero marks; with no clue whether the code is wrong, the student has misunderstood the expectation or python is refusing to recognise a N x 1 matrix. This could br helped by including more discriptions about the data sets and the variables being used, as well as the expectation of the output.
There are a lot of positives about this course, the videos are well made and are clear. Excellent supplementary learning if you're doing undergraduate Linear Algebra or other Machine Learning courses; just a bit too cramped for a standalone course (even with the others in the specialisation being well understood). Perhaps a four course could be added to this specialisation for "The Basics of Python for Machine Learning" where a student covers all the relevant coding knowledge?
By Mark P•
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.
By Yuchi C•
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.
By Leandro C F•
In many reviews of this course it was said that, unlike the others in the specialization, it is much more difficult. And this is true.
The first course was very intuitive, which ended up generating positive expectations in the others. Unfortunately this course was not at all intuitive. It was very focus on the math and in many cases the professor does not explain the meaning of the calculations. For example, dealing with inner product, when will we use any form other than the dot product? These other alternatives has a physical meaning?
The exercises at the end of the topics are just about math and are not based on any real application, which is frustrating.
The last programming exercise is tricky because it doesn't work if we calculate the covariance matrix as taught in the videos. It only works if the calculate it using np.cov().
Despite this, the course is interesting and gives you some useful insights.
By Philippe R•
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.
By Piotr G•
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.
By Keshav B•
This is tough for me. On one hand I appreciate the academic nature of how this was presented. There were few frills and the instructor is focused purely on the maths. In that space it gets a 5/5. My issue is the course requires a _lot_ of dedication and a _lot_ of self study. More so than the previous courses. More examples and a clearer explanations would have helped much more. Additionally, the course states experience with numpy or python is unnecessary, but you are left to figure out the odd tricks that numpy offer that aren't inherently obvious.
How it can be improved: Clearer examples, better assignment explanation, and more visual feedback to help us understand if we did something correctly.