Fantastic intro to the fundamentals of machine learning. If you want to take your understanding of machine learning concepts beyond "model.fit(X, Y), model.predict(X)" then this is the course for you.
Everything is taught from basics, which makes this course very accessible- still requires effort, however will leave you with real confidence and understanding of subjects covered. Great teacher too..
By Danilo D•
An absolutely amazing course!
The lectures are well structured, they go over all the necessary theory for understanding the machine learning algorithms presented and also contain a lot of great examples and illustrations that genuinely help learners better understand the usage of the ML algorithms.
Plethora of materials are at disposal to students: programming test sets, additional literature in the form of suggested textbooks and lectures, and probably one of the most helpful resource - the forums, where Mentors are quick to answer any questions that students may have - something I found very very helpful in enhancing my learning process.
The programming assignments are very good - they are challenging, but also serve as a great learning tool that shows students how all these algorithms we learned about in lectures are actually implemented in practice. They really help students deepen the knowledge, provided they take the time to figure out the solutions themselves. The quizzes are fair and ask from each student to truly understand the matter before answering the questions.
All in all, I would say that the course is very well worth the time invested, and I would gladly suggest anyone who wants to learn about Machine Learning to go ahead and go through this course!
By AMINE L•
Thank you Coursera , Stanford and of course Sir "Andrew NJ" for making this possible . I have been Using Techniques such as Regularized Logistic Regression , SVMs , Clustering , and Deep Neural Networks for many years without giving much thought to the intuitions and rationales underlying some of their key concepts . Not anymore . This course did just that for me . Among many other things , This course does particularly a fantastic job Explaining the nuts and bolts the "Bias-Variance" Trade-off , why Regularization is needed , The importance of cross validation and testing , Batch/Mini-Batch or Stochastic Gradient decent , The regularization terms , The Learning rate & Momentum, and how one should go about debugging an algorithm using the learning curves , Cost-Function Graphs and Error Analysis Techniques . All in a unique an' immersive hands-on experience . It even makes the much revered Vectorized Cost functions , Maximum Likelihood-based approaches , Convergence in Probability , Vectorized-implementations of Forward and Back Propagation (an' more) , look like good old friends . I personally had lots of "EUREKA" moments throughout the journey . I absolutely recommend this course to anyone who wants to refine & solidify their Machine Learning Foundations .
This course is suited for you If you don't have a background in Linear Algebra and Machine Learning.
However, if you do have a background in Calculus and some Linear Algebra you will understand the intuition better (i.e. You can go to the lecture notes for the proofs and math explanation.).
I rarely pay money for a course , but this one worth my money! Specifically, the programming exercise were so helpful to fill in the gaps and give you a real understanding of the concepts been explained. At first you will struggle with the exercises (specially if you don't have a background in MATLAB), then you will get to used to it (i.e. you will ended up solving an exerciser in one day if you are used to it). Added to that, these exercises can be used to create your own Machine Learning Systems. In fact, I was sad that the last two weeks has no assignments. Also, you can learn from the written code in the assignment to visualize your own data. Finally, those exercises are what make the course balanced between the theory and practice! My advice for you: "If you have the money, go for the paid course. You will benefit from it even after you finish!"
I would like to thank Andrew Ng for his effort explaining the concepts and giving me the courage to continue further
By Carsten P•
About me: I studied computer science in Dortmund, Germany in the 90ies. I recommend this course to everyone who wants to have a very good understanding of machine learning. A little bit of advice, if you have never learned linear algebra on a university level, you should at least try to get a basic understanding of it before starting this course. I was happy that I remembered stuff, learning it from scratch in 1 or 2 weeks would be difficult, I assume.
* Mathematical basics of machine learning are very well explained
* Andrew Ng is a very good professor, he explains the topic very well and thoroughly
* It is not limited by using a special framework or language
* The support in the forums, and the transcription of the talks, and all the material that is given to you is really excellent.
* I would be happy if the programming exercises would be a bit more fun, currently it feels like translating / transforming math formulas into octave, which is fine, but not very fun. Having said that I am only in week 4, perhaps this will happen later
* some text questions in the multiple choice quizzes require a precise understanding of the english language, especially in regards to math, I am not a native speaker, so these questions feel especially hard for me
By Joshua W W O•
This is my first online course that I have ever completed and this feeling of completion is so immense! It took me one year to complete this. This was because I studied it part time while working and at the same time had other commitments pop in along the way. Nonetheless I'm really glad I made it through.
I would recommend this course to anyone who would like to learn about machine learning. It gives you strong foundations into the subject. You will realize right from the beginning of the course what machine learning is really all about. Though some of the assignments were quite tough especially on Neural Networks but you will eventually figure it out. Once you do, the feeling is tremendous! You will learn much about machine learning in two main aspects in supervised learning namely regression problems and classification problems. There is also unsupervised learning whereby you learn to form some sort of structure (patterns) in a dataset using K-means and also detect anomalies (e.g. fraud detection) via anomaly detection algorithms. You will also gain tools on how to analyze the performance of your system and what should you do next such that you will best make use of your time. Overall, this is a fantastic course! Thank you Prof. Andrew Ng!!
This is really an amazing online learning experience for me! Thanks a lot, Andrew and your team!
I bought a popular machine learning tutorial in 2017 and tried multiple times to understand what on earth machine learning is about, but always found that there is a huge gap between my knowledge and the content described in the tutorial.
But I didn't give up. I spent lots of my time learning Advanced Mathematics, Linear Algebra, Probability and Statistics and went back to the tutorial, but unfortunately it was still very difficult for me to understand the tutorial.
It is only after I participated this great online course: Machine Learning by Andrew Ng, that I got a feeling that this time I can make it through. I watched the videos carefully, sometimes again and again trying to catch every words. I completed all quizzes and in-video questions and found that they are quite helpful for better understanding of the course content. I spent hours trying to complete the programming exercises and learned a lot. I may never forget the exciting moment to submit my homework for the first time, online in Octave command line.
Thanks again for your guidance! Will keep learning and make best use of this learning experience in my future work and life!
a. very good coverage of standard algorithmic approaches.
b. good suggestive guidelines on specifics of algorithms like issues / details one need to be careful, need not to bother etc..
c. broad coverage of examples..
d. tricky questions...good to experience...
Overall I liked this course content and the breadth of coverage. Based on the difficulty i experienced let me place some points of improvements that would help every student....
e. could have dealt some specific examples in full (from definition to implementation) as part of video lecture which would helped better understanding of the problems, algorithms, impact of specifics, implementation issues, analysis methods, inferences that could be derived, final expected solution.
f. expecting feedback on exercises.... not only correct or incorrect but reasoning for the responses could be of great help in better understanding....
g. downloadable videos could contain in video quiz...
h. Octave content could be increased.....
i. audio of the lectures needs fine tuning, hissing sounds could be filtered. For some of the lectures subtitles does not match at all...
Thank you very much for coursera....
Thank you very much Prof. Andrew Ng.....
Looking forward for mor courses related to ML by you....
By Michael K•
The course specifically I rate at four stars. It's a great course, and I learned a lot from it. It's not afraid to get into more advanced details and mathematical underpinnings. The quizzes and particularly the programming exercises will challenge you. Professor Ng clearly knows his stuff. However, there are some serious flaws:
1) Audio recording quality is not good and sometimes he can be hard to understand.
2) Tons of errors in the videos made note taking a pain. The errors typically aren't highlighted and explained until the reading material that comes after the video. So my notebook has quite a few scratched out lines due to mistakes in the videos that are only later corrected.
3) Similar to #2, there are quite a few inconsistencies in the way formulas are expressed. Terms get moved around or written slightly differently often with no explanation. It can create some unnecessary confusion.
I still gave the course 5 stars though, because the assistants on the forums are absolutely excellent. They answer almost every question students have and take the time to explain details and intricacies of the algorithms. Their tireless dedication to helping students more than made up for difficulties caused by mistakes in the videos.
By Adarsh K•
The best Introductory Course on ML ever. No Pre-requisites allows anyone with the interest to learn ML learn it in the best possible manner. The course not only gives the Theory but also develops Intuition behind every algorithm which helps to retain the essence of the entire material. Not only the Theory but also the Practical Advices that the prof gives helps you to implement a ML Project from Scratch and Diagnose any possible error that may creep in, some of which aren't even used by many Industry Professionals. The prof is very humble and teaches you more like a friend, giving examples on how simple things may go wrong, also accepting that some of the concepts are not so easy to digest, so don't worry. The course is superbly organised which helps learners learn everything that the instructor wants to teach. The Quizzes, in-Lecture questions, Programming Exercises enable you to step through a path of- learning the theory, building the intuition, getting practical advices, implementing the code and inspiring you to work on your own projects. The Discussion Forum is always very active, you could clear any and every doubt of yours. Thanks and Congrats Prof. Andrew Ng on making the best MOOC ever!!
By Hooman R•
Excellent course. You will learn linear and logistic regression, SVM, neural networks and many more algorithms (supervised and unsupervised) You will also learn about how to evaluate the algorithms and how to design a more efficient system.
The teacher knows well how to teach the concepts in a way that you will gain a deep understanding rather than just memorizing formulas.
The quizzes are brilliantly designed to make sure you have learned the material entirely.
The computer assignments are created with profound details and you will do them in Octave or Matlab. Implementing the algorithms will help you fully understand what is happening in these algorithms. Enormous work has been done creating these assignments. Hats off to the designer of them.
The only thing that I would say could be better about this course, is the SVM topic. Unlike the other algorithms described in this course, the SVM algorithm has been explained in less detail than I expected (even with watching the optional videos). What I mean is, in order to gain a deep understanding of the SVM, one would need to see other sources as well. However, for any practical purposes, this algorithm has been explained well enough in this course.
By Chia-Yu C•
Professor Ng definitely is gifted in the sense of turning complicated concepts into reachable, comprehendible ideas, which is the best thing I can expect when entering this complicated ML world.
To me, this class is more application-oriented rather than theory/math solid. Surely there are pros and the cons of doing that. One obvious advantage would be, even with limited math (mainly linear algebra and calculus) knowledge, ones can still have a great time playing with the ideas and models in ML field. The course definitely serves as a terrific introduction to this field. Andrew had all the ideas well-covered and made sure that after this class, students can apply these to real-world without bumping into some big troubles.
I don't think the lack of math proof or formula deduction can be fairly stated as the cons of this class. Though ones will definitely need to familiar those if they have serious ML jobs to be done, this class still serves as a great starting point to help people navigate which ideas/theories to dig deeper into.
To conclude, I highly recommend this class and encourage people who are looking for building more solid math foundations can find extra readings along the course :)
By Jeremy F•
Excellent course. It has an easily understandable introduction and keeps gaining speed and complexity as you go on. While the first quizzes and assignments are quite easy, the later ones (except the final chapter) become a real challenge. I had to repeat some of them a few times. The additional resources are absolutely helpful, it's a shame I didn't use them until week 6 or 7.
I think by the end of the course everyone should understand what machine learning can do and what not, beautifully supported by real life examples. Until week 10 this course seriously left me wondering how machine learning is applied at all in a real-life work environment, but chapter 11 cleared things up.
The final chapter, as a whole, is the one where you know you've done the hard part. It's basically one big example to illustrate how you can apply your current knowledge on machine learning. It's your reward for all the patient learning.
You should still be aware that the world of machine learning is huge, and by learning the theory you merely scratch the surface of it if you complete this course. Me, for instance, I will move on to other courses to deepen my newly acquired skills, or to get some practical experience.
By KEVIN N•
Exceptional. Andrew Ng brought a lot of himself in this class. He is a master of teaching complex topics in simple ways. I have learnt a lot from his teaching skill, in particularly on how to transform complex concepts into simple statements which is quite relevant in my job today. Not everyone is an engineer and yet many people around us have heard about ML. But many misconceptions are said. This class will help you make your message crystal clear. A big community has been growing up all those years and he deserves it.
I have started taking the class many years ago for free but had not the time to finish it because of a busy life as many of elearners here. Now it is done and I have paid for it without any regret. As a ML engineer, I had especially an eye into his ability to communicate complex concepts in simple way to his students. If you are a quantitative engineer, you may pass all 100% quite easily. But what matters here is not the hardness of the questions, it is all about listening to a talented teacher. I must say he masters the communication. He is an exceptional professor, a reference to teach online courses. I have taken many MOOCS for the past 5 years. This is easily a A++.
By Subramaniam S•
Wow! What I can say! Thoroughly enjoyed a computer science subject with plenty of Mathematics. And, that is at the age of 51. I enjoyed going through each of the Video and the subsequent notes and quizzes. The quizzes took lot of time and needed reviewing the materials again, for most quizzes. I initially struggled with programming exercises. The speed and my familiarity with matrix multiplication increased exponentially and finally finished the last few programming exercises in no time.
For an average Joe, I will recommend this course to take at a leisurely pace, referring to several materials outside. I too was reading couple of books while going through this course. The books really emphasized the learning. A couple of books most suitable to read along with this course are, Machine Learning by Tom Mitchell and Introduction to Machine Learning by Ethem Alpaydin.
This course improved my confidence tremendously as I was not programming hands-on for the past several years. I have not even used any IDE as most my programming experience was on Unix machines using vi editor. This course made a swift change in my thinking and imbibed confidence that I can code complex systems.
By Jian X L•
The course on Machine Learning given by Andrew Ng has been a nice learning experience and a huge professional step toward my career objectives. I have appreciated the didactic and detailed description of the different concepts and insightful examples. Without going too deep into the mathematical development, Andrew ensured that the lectures are easy to understand.
However, if I had to assign one bad mark, it would be related to the programming exercises. Actually, I have had the feeling that there are too many hints and indications; e.g., the instructions in the pdf file say which formulas must be implemented in a given part of the code, all the pieces of code for plotting, optimizing, etc. were given already.
In practice, I expect that I will have to code a machine learning algorithm (for a given application or problem) from scratch. Yet, as I am not a professional developer, all the clues helped me to get through the exercise quite fast, which was also appreciated.
Finally, the course was time-consuming. Yet, as said by Andrew in his videos, time is a valuable resource that we should dedicate to something that worth it. And Machine Learning is a thing that deserves our time. :)
An amazing course! The lecture videos and slides are well-prepared and the concepts are explained by prof. Andrew in a clear and concise way, using neat graphs and plots when necessary. A lot of effort has gone into making the course largely self-contained. There's more focus on the application and practical implementations of machine learning algorithms than their mathematical and theoretical details (although not at all necessary, a fair exposure to advanced Linear Algebra - derivatives of multivariate functions, matrix decomposition, projections, etc. - can help in understanding some of the algorithms better). Lots of tips and tricks are given to help troubleshoot problems that often occur in practice.
The programming exercises are designed so that the student can focus on understanding the essential topics instead of getting bogged down in too many details (nevertheless, it's a good idea to briefly go through the functions and files already written by the staff). The quizzes are also well-designed and help the student recognize important nuances in the subjects.
There's a lot to be learned by taking this course! Thank you, Professor Andrew Ng and Coursera staff!
By Matthew J•
A really excellent course.
This is the first online course I've taken, so I cannot compare it to others, either on Coursera or other MOOC platforms, but I can say that it was perfect for my needs and I learnt a lot from it. The math content - of which, obviously, there must be a lot of - is very well-explained, and Andrew takes care to require little more than a high-school level expertise to understand.
The programming exercises were slightly challenging, but not overly so, and helped solidify understanding - and hey, there's always that little thrill of excitement when you see your program begin to give you real answers, and you realise that you've just written a program to recognise letters when given just a bunch of pixels.
I didn't use the forums much during the course myself, but they appeared to be very well-supported by knowledgeable and helpful mentors. (Tom Mosher, in particular, seemed to be on-hand all day, every day!)
As to Andrew Ng, the lecturer, he clearly has a deep and extensive knowledge of his subject matter, but his presentation is always kind, enthusiastic and helpful, so I'd like to pass on my thanks to him for making and presenting this course.
By Simran K•
For the past few years, all I've been hearing is the word "Machine Learning" being thrown around. In my head, it was built up to be something really difficult that I had no idea about. I wanted to change that, I wanted to be a part of the conversation. This course has truly helped me do that, even as I go through more professional forums about machine learning, I understand the concepts a lot better. It's no longer technical jargon out of my reach.
Andrew Ng really breaks down the course to simpler elements. He brings up layer on layer of abstraction while keeping the students interested with real world application. The presentation, documentation and course assignments are planned perfectly. It's so simple to follow everything, and yet, you still gain more understanding as you move forward.
The community and discussion forums are a great help as well. I'd recommend this course to everyone looking forward to know more about Machine Learning! Don't let the math scare you, it's for your understanding, it's okay if you don't completely follow it. I'd suggest going through an intermediate maths course to relate to it better, but it's okay even if you go without.
By Matteo L•
An absolutely fantastic experience from start to finish. A great approach to teaching this material and making the student feel like part of the class right away. The contents were incredibly interesting and the structure of the course was absolutely perfect in my opinion. Andrew Ng. is a fantastic teacher and you can clearly see how passionate he is about this field from the get-go.
I think it's also important to mention you can see the hard work put into constructing the exercises and providing structured information in the resources tab and the discussion forums thanks to the mentors.
The only (small) negatives I'd mention maybe are the fact that random forest (or similar) algorithms were not discussed (maybe there is a reason that I am not aware of) and possibly the exercises tended to get a little bit less challenging towards the end. I think an exercise on optimization using the stochastic gradient descend and the mini-batch gradient descent could have been a nice add to the list of exercises as well.
Once again, overall this course really should be considered a reference in terms of teaching and course structure for MOOCs and courses in general.
By Aaron S•
I think this course is fantastic for anyone who wants to explore Machine Learning. However, it is not perfect. Professor Ng focuses completely on the Algorithms and avoids going too deep into the mathematical aspect of those algorithms. What does that mean for you? For Mathematicians and Computer Scientists, you are left wanting more. All the technical concepts that Professor skips seem deeply familiar and yet a bit too complex to delve into by yourself. For people with no experience in Maths or Programming, this means A TON OF MEMORIZATION. Being familiar with Linear Algebra and programming is key to completing this course smoothly. If you are not familiar or not experienced enough, then you would have to grind all those basic mathematical concepts in your head as you go along with this course, just to keep up with the deadlines. However, I will say this - if you complete this course successfully with flying colors, then you would have gained skills and knowledge that not even some formal University courses can provide you. Hence, I recommend this course 100/100, but I would rate it ~4.7/5 just because of how it sort of flies over everything.
By Federico L B•
This course was absolutely phenomenal. The main teacher Andrew NG made all the videos and classes so fast and seamless to watch with very interesting examples of real life, as well with important theoretical explanations. The topics, additional contents, extensions and real life cases were delightful to learn. The reviews at the end of each video made for a very fun and interactive way of demonstrating what you just learned in a video class. The reviews at the end of each sections were difficult at times but fair and rewarding when passed. The exercises were very difficult at times but the amount of resources, help from the mentors and the community and the general support to the students was more than enough to help me obtain a 100/100 score on each one of them. The only issue I would have is that the last few exercises were very difficult to understand. This meant that the code did almost everything and I felt like I did very little and that I myself could have not done what the code was showing me. But maybe it is tuned as close to perfection as it is. I can only say thank you and I really hope this helps me find a job as a Data Scientist.
By Kunind S•
A really amazing course by Prof. Andrew Ng. He covered all the majorly used Supervised and Unsupervised Learning Algorithms. Now these things are covered by many other courses too, so what's so good about this course? The answer is Prof. Ng's lucid ad easy to follow explanations so much so that, you don't really need to be a wizard or even have a knowledge of College level Linear Algebra or Vector Calculus. Also what additional information we gain from this course is not just the Theory behind ML algorithms BUT also the practical implications! These things are crucial since most of us aspire to be ML Engineers in the applied space. He teaches us ways to debug our algorithms, practices which are industry relevant also how to improve performance of our algorithm, what to devote more time and energy resources to, etc. Just be committed to this course, you'll start loving ML and getting a hang of it in no time! Well it would have been "another" cherry on the cake if Prof. Ng had included other algorithms such as KNN, Naive Bayes, Decision Trees, Random Forests and a much deeper implementation of SVMs, but overall, I'll rate the course a 5/5!
By Mandaar P•
An excellent course. Very well structured and well paced. The quizzes and problems in every week have been extremely well thought of and provide a very good insight into the concepts explained in that week. The barrier of 80% for clearing each quiz and each week's problems is very good and important.
Andrew NG is a very likable person and obviously comes with fantastic experience in the area of AI/DL/ML. There is one suggestion though. It is important for everyone taking this course to have a good understanding of linear algebra. So while Andrew does explain the mathematical concepts of each of the algorithms quite well, I believe he should not underplay the need for understanding that math even though some concepts are advanced. It is certainly important that everyone who takes the course, realizes that it is not just using an algorithm, but that the mathematical foundations underpinning the algorithm are equally important.
All in all I thoroughly enjoyed the course and will be taking up the Deep Learning and AI courses eventually, which Andrew has already developed.
Hats off to Andrew and team for a wonderful learning experience.
By Debangshu M•
I am only 4 weeks in this course now. I am loving it!!
I must say, this course if very informative. I like the content, which is very precise yet easy to grasp. The course gives enough fundamentals, yet leave some of the finishing work, which is necessary to solve a particular problem, to be done by the students. For example I enjoyed thoroughly determining vectorized representation of the algorithms. Coming from High Level programming languages (I am a .NET developer), I had to unlearn easy way of implementing (For loops) and learn the new (and fun!) way of vectorized solution of Cost Function, Gradient Decent, Logistic Regression etc. Also I had to brush up some knowledge on calculus and matrix algebra from college days. Those are necessary to truly understand the beauty of these algorithm and working out an elegant vectorized solution.
Last but not the least, this is my 3rd Coursera course. This course provides me familiar experience, ease of using the platform, with all the great new knowledge in a concise format. I would like to express my gratitude to the trainer for a great learning experience and such an outstanding course.