Retour à Mathematics for Machine Learning: PCA

4.0

étoiles

1,665 évaluations

•

379 avis

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!

Filtrer par :

par Jayant V

•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!

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

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

par 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)

par Berkay E

•Aug 09, 2019

-Some of the contents are not clear.

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

par sairavikanth t

•Apr 29, 2018

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

par Jessica P

•Aug 06, 2019

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

par Clara M L

•May 01, 2018

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

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

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

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

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

par Yiqing W

•Mar 28, 2019

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

par Narongdej S

•Jun 29, 2019

Confusing for beginners; the explanations are too abrupt

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

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

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

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

par Patrick F

•Feb 01, 2019

The programming tasks are very bad documented and have errors.

par Andrei

•Nov 01, 2018

terrible assignments

par Amar D N

•May 30, 2020

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.

par Rachel S

•Jul 09, 2019

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.

par Mikhail D

•May 27, 2020

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.

par Gabriel W

•May 23, 2020

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.

par Nathan R

•Jan 22, 2020

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.

- L'IA pour tous
- Introduction à TensorFlow
- Réseau de neurones et deep learning
- Algorithmes, Partie 1
- Algorithmes, Partie 2
- Apprentissage automatique
- Apprentissage automatique avec Python
- Apprentissage automatique à l'aide de SAS Viya
- La programmation en R
- Intro à la programmation avec Matlab
- Analyse des données avec Python
- Principes de base d'AWS : Going Cloud Native
- Bases de Google Cloud Platform
- Ingénierie de la fiabilité du site
- Parler un anglais professionnel
- La science du bien-être
- Apprendre à apprendre
- Marchés financiers
- Tests d'hypothèses dans la santé publique
- Bases du leadership au quotidien

- Deep Learning
- Le Python pour tous
- Science des données
- Science des données appliquée avec Python
- Bases de la gestion d'entreprise
- Architecture avec Google Cloud Platform
- Ingénierie des données sur Google Cloud Platform
- Excel à MySQL
- Apprentissage automatique avancé
- Mathématiques pour l'apprentissage automatique
- Voiture autonome
- Révolutions Blockchains pour l'entreprise
- Business Analytics
- Compétences Excel pour l'entreprise
- Marketing numérique
- Analyse statistique avec R pour la santé publique
- Bases de l'immunologie
- Anatomie
- Gestion de l'innovation et du design thinking
- Bases de la psychologie positive