Voltar para Mathematics for Machine Learning: PCA

4.0

estrelas

2,155 classificações

•

532 avaliações

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

JS

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.

NS

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

Filtrar por:

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

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

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

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

por Yiqing W

•Mar 28, 2019

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

por Narongdej S

•Jun 29, 2019

Confusing for beginners; the explanations are too abrupt

por Roy A

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

por Kenny C

•Jul 22, 2020

This course was very frustrating. I would say that I'm quite competent in math, but I still struggled, not necessarily because the content is challenging, but because the instructions are unclear. I like that the lectures go through derivations in detail, but the instructor often skips steps. Sometimes he would reference a property of matrices that were not talked about, and I would have to spend half an hour researching what that property was to follow what was happening. The quizzes were minimally helpful, as they were merely the same computation question repeated throughout the quiz, which does not help to build intuitive understanding. The programming assignments are unclear on instructions and had many bugs, even in the pre-written parts. A lot of time was spent on reading the NumPy documentation, as the assignments gave little indication of what functions should be used and how they should be used. Overall, despite having a mathematical derivation of PCA, the course is very confusing and frustrating, perhaps even to those competent in this area of study.

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

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

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

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

por Patrick F

•Feb 01, 2019

The programming tasks are very bad documented and have errors.

por Andrei

•Nov 01, 2018

terrible assignments

por Shubhayu D

•Jun 13, 2020

The first two courses in the specialization were extremely good. However, this course is nowhere close to them. Neither does the instructor provide enough intuition, nor do the assignments help in the learning process.

por Abhishek S

•Jun 07, 2020

The first two courses of this specialisation were awesome PCA being a hard topic is difficult to understand but the course was boring and not good compared to previous two.

por 용석 권

•Jan 30, 2019

Programming assignments' quality is too bad to follow it. Their lecture's explanation and assignments' notation are not matched. Moreover, the code is sometimes ridiculous.

por Benjamin F

•Nov 18, 2019

The didactic value of this course is rather low. The lectures do not explain the very concepts required to sovle the subsequent assigments, or do it in a very poor way.

por Kareem T M

•May 18, 2020

Worst Course I have ever token on Coursera, the instructor hadn't mention any examples or simplify the information.

por HARSHIT J

•Jun 12, 2020

Very tough course, the first 3 weeks are good, but the last week is as poorly explained as one can imagine

por Michael B

•May 16, 2020

If I could give it negative stars I would.

por Mohamed S

•Jun 01, 2020

topics are poorly explained and confusing

por Marco v Z

•Jul 19, 2020

I was somewhat put off by critical comments about the third course in this series, but have to disagree with the reviewers. Yes, it is tougher and, yes, the instructor doesn't have the "schwung" of the other two instructors, but that doesn't affect the quality of this course. His walkthrough of the derivation of PCA is thorough and systematic, and builds on material that has been presented in the earlier lectures.

In fact, looking back on the entire specialisation, I would retrospectively grade the first two courses a notch lower (even if they're excellent), simply because they "sailed through" a bit too easily. The exercises in those courses required little thinking apart from recalling what was said in the lectures. In this course, exercises tended to go beyond or ahead of the material presented in the lectures. Solving them required active thinking, reading, and problem solving, which in the end brings a more thorough understanding.

por Fredrick A

•Feb 21, 2020

The coverage of PCA provided by the instructor was wide and provided me with an intuitive basis for executing the PCA algorithm in the wild. Ultimately, the subject and its various steps were easy to understand. That said, I gained many great insights watching Khan Academy videos especially ones on eigenvalues/eigenvectors. By far the hardest part of the class was implementing and executing the python code. There the devil was in, and sometimes, outside of the details. I cursed the name of the Instructor more than once (a lot more). But, in the end, because of the real life, no safety net experience, I was able to jump right into PCA (and other feature engineering projects) adding value to my team at work on day 1.

por Abdu M

•Jan 20, 2019

Best course out of the series so far. A fine balance between theory and derivations, and practice with the programming assignments. It seems that they have solved their programming assignment issues (the first one still has some problems with the grader I believe). This course does require you to have some prior experience, though, so if you are new to programming or linear algebra (not just the concepts but how to apply them) it's bets to take the first two courses with some additional help (maybe Khan academy or even MIT OCW. I will certainly refer to this course in the future, as well as the professor's book on Mathematics for ML.

- Como encontrar propósito e sentido na vida
- Compreendendo a pesquisa médica
- Japonês para iniciantes
- Introdução à computação em nuvem
- Fundamentos de Mindfulness
- Fundamentos de Finanças
- Aprendizagem Automática
- Aprendizagem automática usando o Sas Viya
- A ciência do bem-estar
- Rastreamento de Contato com a Covid-19
- IA para todos
- Mercados Financeiros
- Introdução à Psicologia
- Introdução à AWS
- Marketing internacional
- C++
- Análise Preditiva e Mineração de Dados
- Aprendendo a Aprender da UCSD
- Programação para todos da Universidade do Michigan
- Linguagem R da JHU
- Treinamento de CPI do Google CBRS

- Processamento da Linguagem Natural (PLN)
- IA para Medicina
- Bom com palavras: escrita e edição
- Modelagem de doenças infecciosas
- A pronúncia do inglês americano
- Automatização de teste de software
- Aprendizagem profunda
- Python para todosPython para todos
- Ciência de Dados
- Fundamentos de negóciosFundamentos dos Negócios
- Habilidades em Excel para negócios
- Ciência de Dados com Python
- Finanças para todos
- Habilidades de comunicação para engenheiros
- Treinamento de vendas
- Desenvolvimento e gestão de marca pessoal
- Análise de Dados de Negócios da Wharton
- Psicologia Positiva da Universidade da Pensilvânia
- Aprendizagem Automática da Universidade de Washington
- Design Gráfico da CalArts

- Certificados profissionais
- Certificados MasterTrack
- Suporte de TI do Google
- Ciência de dados da IBM
- Engenharia de Dados do Google Cloud
- IA aplicada da IBM
- Arquitetura do Google Cloud
- Analista de Cibersegurança da IBM
- Automação da TI do Google com Python
- Profissional de Mainframe do IBM z/OS
- Gestão aplicada de projetos da UCI
- Certificado em Design Instrucional
- Certificado em Engenharia e Gerenciamento de Construção
- Certificado de Big Data
- Certificado de Aprendizagem Automática em Análise de Dados
- Certificado em Gestão de Inovação e Empreendedorismo
- Certificado de Sustentabilidade e Desenvolvimento
- Certificado de Serviço Social
- Certificado de IA e Aprendizagem Automática
- Certificado de Análise e Visualização de Dados Espaciais

- Graduações em Ciência da Computação
- Graduações em Negócios
- Graduações em Saúde Pública
- Graduações em Ciência de Dados
- Bacharelados
- Bacharelado em Ciência da Computação
- Mestrado em Engenharia Elétrica
- Conclusão de bacharelado
- Mestrado em Gestão
- Mestrado em Ciência da Computação
- Mestrado em Saúde Pública
- Mestrado em Contabilidade
- Mestrado em Tecnologia da Computação e da Informação
- MBA On-line
- Mestrado em Ciência de Dados Aplicada
- MBA Global
- Mestrado em Inovação e Empreendedorismo
- Mestrado em Ciência de Dados
- Mestrado em Ciência da Computação
- Mestrado em saúde pública