Back to Mathematics for Machine Learning: PCA

stars

2,551 ratings

•

634 reviews

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

NS

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

Filter by:

By Xiao L

•Jun 3, 2019

very wired assignment, a lot of error in template code. The concept is not clear.

By Sai M B

•Aug 3, 2020

The lectures were not clear. I had to use other sources to understand lectures.

By Pawan K S

•Jun 20, 2020

This course was the hardest I encountered in this specialisation.

By Kirill T

•Jul 26, 2020

Way worse than the previous courses. Lacks explanations

By Kevin O

•Mar 27, 2021

Really interesting topic but not nearly enough detail.

By Amr F M R

•Sep 22, 2020

I think course material was not explained well at all.

By Desikan S

•Sep 23, 2019

Need to improve the content and delivery of content.

By Mohammed A A

•Jul 19, 2020

the course is too shallow with difficult code exame

By Scoodood C

•Jul 28, 2018

Video lecture not as intuitive as previous courses.

By Michael B

•Nov 21, 2019

Programming assignments not well explained

By youssef s

•Jul 27, 2020

very poor explanation of things

By Murilo F S

•Jan 24, 2021

not good teacher :Z

By Salah E

•Aug 4, 2020

again too hard

By ABHI G

•Aug 21, 2018

not so good

:(

By Pradeep K

•Apr 30, 2020

Very Poor course on PCA, My recommendation. Don't watch it, Please don't waste your money on it.

Reasons:

1) The course on algebra and calculus was intuitive geometrically and well taught. Here the instructor bothered only doing derivations. No intuition based thinking, no analogy to real world. Just plain hard notations.

2) I don't think even the instructor would understand what was taught in the course. The excercises were completely unrelated to what was taught. Not much given examples. The examples choosen uses values like 0,1,2. Why can't you pick some odd numbers to make it bit more non confusion and clear.

3) At the end there was a review / Survey for every course. The review for this course is disabled. Clearly everyone knows how bad this is. Remove this course or make it better that is what the recommendation. There is no provision for zero stars, Had there one I would not given that also.

Really frustrated with the PCA course. Please don't waste your time and money . Get Gilbert Strang's book. That will do justice for every penny. I was able to complete the course, All thanks to Gilbert's book on Linear Algebra. Thanks

By Ivan F G

•Jul 1, 2020

The technical issues with Jupyter Notebooks really made me waste too many days, a lot of my time not learning but just fighting a poorly implemented exercise. And the technical issues did not help the teacher, the notebooks had a role to give us a place to learn new concepts that he mentioned in the fly, but there were no small sets of data to test the functions. I wasn't very patient with the way he will say things like "this is the formula from the previous video", and show a different formula from what he had on the previous video. Really? Why making things obscure on purpose? You can just have said, we had our previous formula and them used properties of the transpose of a product to get this other formula. Please make an effort to redo the notebooks. Even better, do some of the examples in Phyton during class for what you do in paper, and then let us take those examples and make a general function on the notebooks. Give smaller databases, something easy to plot and test, without waiting 20+minutes to have a result.

By Diego M E

•Apr 2, 2021

This course by no means retains the quality of its two predecessors. The difficulty of the programming assignments simply does not match that of what you watch in the videos and have to face in the practice quizzes. You need to have at the very least an intermediate understanding of both python and numpy. It should be stated somewhere that, if you really want to try and complete the assignments with a passing grade you'd need to invest **a lot** of your time. The course does not even remotely give you the tools necessary to complete these assignments; you'll need to research on your own and consult forums, videos, manuals, etc. My advice would be to learn python to an intermediate level first, then really practice with numpy, and just after that take this course. Otherwise you'll probably get very frustrated and quit.

By Alistair K

•May 16, 2020

The instructor is extremely dry and monosyllabic and does a very poor job of explaining topics, he frequently introduces topics by jumping straight into formulas without bothering to explain the topic or the use of the subject he is supposed to be explaining.

The majority of lectures are no more that the lecturer reading our a formula parrot-fashion onto the screen, he makes no effort to make the subject informative or explain what is going on. In many cases, he doesn't even bother creating a lecture, he simply posts a link to Wikipedia.

Lectures, quizzes and assignments are littered with bugs and omissions.

A negative mark on an otherwise excellent specialisation. This lecturer has no place teaching, he made the whole subject unapproachable.

By Pavel S

•Dec 12, 2019

The course has two problems:

complete lack of participation of staff in maintaining it. This leads to students giving each other incorrect advice and sharing incorrect code which passes the grader function check ( the grades are assigned automatically). The advice students give each other are frankly so wrong it is shocking.

the teacher focuses on formalised proof rather than concepts. Hence the lectures turn into lecturer applying mathematical transfomations which end in a formal argument without any intuitive understanding of the underlying subject. This course is the worst of the module with linear algebra and multivariate calculus being much better

By Alan

•Aug 4, 2020

Very disappointing compared to the other courses. Recommend a complete revision of the course materials. Quizzes often had nothing to do with the preceding video. I worked through a week two quiz using the extensive notes in the discussion forum and by searching the internet. The next lecture proceeded in the same vein: the instructor failed to cover the material in video leaving me to figure out what the material was and then figure out how to find that material on the internet or in reference books. At that point, it just was not worth the time to take the course.

By 周玮晨

•Jun 8, 2018

This course is far far far behind my expectations.The other two course in the specializition is fantastic. There is no visualization in this course, Instructor is always doing his algebra, concepts are poorly explained. I can't understand a lot of concepts in this course because of my poor math background.But why do i take ths course if i have a solid background in math? Programming assignments is not difficult but hard to complete because of vaguely clarification.Plenty of time wasted to find what should i do, its' really frustrating.

By Adarsh R K S

•Feb 21, 2021

The first two courses in the entire specialization were good. The PCA course was then suddenly so complicated and assumed significant matrix knowledge which was not taught in the previous courses. also, the course kept introducing concepts into the material without any explanation of where this came from and the why behind it. the lecturer needs to understand that most people taking this course are not mathematicians by profession and so we would have learnt better if the PCA was kept at a basic level.

By Srudeep K

•Apr 6, 2021

Alot of the material are to be referred, read and understood from sources outside of the course which is frustrating. There is lack of continuation from first two courses (Linear algebra & Multivariate calculus). At times, lecturer explains concepts without giving any background. Tests front run the course, meaning some questions you get in tests are taught in the video just after the test. I find better resources elsewhere online to understand PCA much better than wasting few days on this course.

By Hossameldein E

•Apr 9, 2021

The other Two courses are great, really great. But this one is a disaster.

Most of the the first 3 weeks i google the theory again to understand the problems in the quizzes.

The 4th week feels like something from a different course.

This videos are dull . a lot of time just reading the equations without trying to know what is it about in the real life.

please reconsider re-constructing this course. it's really sad that after the two great courses it ends up with this.

By Rameses

•Aug 18, 2020

This has to be one of most nightmarish, ugly, courses I have taken on the Coursera platform. Lousy, boring instructor, assignments that are so full of bugs that even the staff cannot resolve the issues. Add to that very low participation from the mentors and teaching staff in responding to student concerns and questions.

Hey Marc, teaching staff and Imperial College. Get your act together!!

IOW This course sucks big time! Take it at your own risk

- Finding Purpose & Meaning in Life
- Understanding Medical Research
- Japanese for Beginners
- Introduction to Cloud Computing
- Foundations of Mindfulness
- Fundamentals of Finance
- Machine Learning
- Machine Learning Using Sas Viya
- The Science of Well Being
- Covid-19 Contact Tracing
- AI for Everyone
- Financial Markets
- Introduction to Psychology
- Getting Started with AWS
- International Marketing
- C++
- Predictive Analytics & Data Mining
- UCSD Learning How to Learn
- Michigan Programming for Everybody
- JHU R Programming
- Google CBRS CPI Training

- Natural Language Processing (NLP)
- AI for Medicine
- Good with Words: Writing & Editing
- Infections Disease Modeling
- The Pronounciation of American English
- Software Testing Automation
- Deep Learning
- Python for Everybody
- Data Science
- Business Foundations
- Excel Skills for Business
- Data Science with Python
- Finance for Everyone
- Communication Skills for Engineers
- Sales Training
- Career Brand Management
- Wharton Business Analytics
- Penn Positive Psychology
- Washington Machine Learning
- CalArts Graphic Design

- Professional Certificates
- MasterTrack Certificates
- Google IT Support
- IBM Data Science
- Google Cloud Data Engineering
- IBM Applied AI
- Google Cloud Architecture
- IBM Cybersecurity Analyst
- Google IT Automation with Python
- IBM z/OS Mainframe Practitioner
- UCI Applied Project Management
- Instructional Design Certificate
- Construction Engineering and Management Certificate
- Big Data Certificate
- Machine Learning for Analytics Certificate
- Innovation Management & Entrepreneurship Certificate
- Sustainabaility and Development Certificate
- Social Work Certificate
- AI and Machine Learning Certificate

- Computer Science Degrees
- Business Degrees
- Public Health Degrees
- Data Science Degrees
- Bachelor's Degrees
- Bachelor of Computer Science
- MS Electrical Engineering
- Bachelor Completion Degree
- MS Management
- MS Computer Science
- MPH
- Accounting Master's Degree
- MCIT
- MBA Online
- Master of Applied Data Science
- Global MBA
- Master's of Innovation & Entrepreneurship
- MCS Data Science
- Master's in Computer Science
- Master's in Public Health