Very good coverage of different supervised and unsupervised algorithms, and lots of practical insights around implementation. All the explanations provided helped to understand the concepts very well.
Everything is great about this course. Dr. Ng dumbs is it down with the complex math involved. He explained everything clearly, slowly and softly. Now I can say I know something about Machine Learning
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.
By Piyush B•
The best thing about this course is that it takes you step by step into the world of machine learning without overwhelming you. The initiation is simple and the complexity builds with each day and week passing by. So when you look at the content you feel intimidated but once you get down to take a day/week at a time it actually unfolds pretty well.
One more thing which makes this course great is the practical wisdom which Andrew provides. Given his vast experience in this area, he is able to explain the pitfalls, the thumb rules, the way to move ahead without getting lost. He is able to connect the dots, provide real life examples and also explains what lies beyond.
The other great thing was assignments which have been designed very well with starter code. You really need to do only the core algorithm implementation but running the completed code almost gave the feeling of implementing a mini project instead of just writing some code snippets. This helped in seeing the code execute from end to end with data visualization, predictions to measuring the efficiency of the algorithm.
Thank you for this course. I thoroughly enjoyed it.
By Peter L•
This course is perfect if you are a beginner in Machine Learning and would like to get some gentle yet thorough exposure to the field.
Professor Ng is an enthusiastic teacher who presents the material in a very accessible fashion. He doesn't get too deep into mathematics but teaches you enough to get a sense for what exactly a learning algorithm is doing under the hood.
Some minor criticisms: The programming exercises each require you to complete some predefined functions with a couple of lines of code which, given the extensive instructions, is often trivial - here I would have wished for a steeper learning curve. Furthermore, I would have liked to hear about additional topics such as Decision Trees, Ensemble Learning and perhaps more about the different types of neural networks.
Nevertheless, I warmly recommend this course to anyone interested in Machine Learning. You'll walk away with a deep understanding of several key algorithms, some experience in how to implement them, some knowledge about real-world ML applications as well as a number of very useful guidelines for data preparation, model selection and error analysis.
By Alan J R•
If machine learning is interesting to you then I would surely recommend this course. Professor Andrew Ng really makes it understandable and easy to grasp, honestly. I come from an economics and finance background, so I had some prior knowledge on linear and logistic regression, but I could easily see myself still understanding these topics and the whole course if I had not studied economics and finance previously.
Also, I learned how to use MATLAB which I consider a very valuable skill. At first I was overwhelmed by the software and how to use it and I tried to run into it head first. However, I recommend taking it slowly at the beginning and really relying on the discussion forums, because everything is there and it is a super active environment. Here I would like to thank Tom Mosher as well, because his contribution to answering questions on the discussion forum resulted in me not having to ask any questions. This course is quite old, but it is also ripe, because so many people have done it before and you can find answers to almost all of your questions. Again, really big thank you to professor Andrew Ng and Tom Mosher.
By Methus P•
This course is one of the best courses I've ever taken, both online and in real life. This course requires no prior knowledge, meaning that anyone who has an interest in computer science, or particular, Artificial intelligence, can finish this course. I love how the programming assignment was designed and how such great so-called classmates have helped each other along the way. The mentors are very supportive. Before I started this course, I have no idea what machine learning is all about and what it can do. Then prof. Andrew Ng just made it looked so simple that I wanted to write the whole program by myself! The contents of this course are well-selected, not too easy, not too difficult, and of most importance, useful for everyone. I'm currently studying Medicine (I'm interested in BOTH Computer Science and Medicine, but I thought CS could be studied online) and found many potentials in improving the world's healthcare. I never regret spending my time finishing this course.
Conclusion: Highly recommended. You don't need to major in Computer Science to learn this course. It definitely will be useful in any field.
By Jose A G•
Awesome class. I took it while also taking Data science and Machine learning at my school. I felt like it was very informative and actually explained a-lot of material better than my school teachers. I like how Ng went above and beyond to not only explain what are the different types of machine learning algorithms available, but also tips and tricks on how to properly use them and also explain industry insight into these problems. The difficulty for me was not too hard, there are many hints sprinkled around some of the assignments, and I like how clear and easy Ng explains the material, and he makes the effort to explain things from the ground up and sets up reminders, which i think is very important. I recommend taking this class as a basis for machine learning, however more study is required to learn about more advance topics in machine learning such as Deep Learning algorithms: LSTM, Generative adversarial neural nets, convolutional neural nets, etc. Take a look at this course's syllabus for a list of topics that are covered and plan your courses towards the complete set of what you want to learn.
By Rick T•
This is the best college course I have ever taken! I have a MA in Psychology with emphasis on Statistics and Research Methodology and ABD (All But Dissertation) for a doctoral degree, and this class was better than any class I have ever taken. The lecture videos were organized, always on subject and extremely well done. I used to nearly fall asleep in some of my graduate seminars, but had no such problems watching Andrew's lectures. I especially appreciated the karaoke-like presentation of the videos + transcription. I have always done better when having textbooks to go to and take notes. With this approach, I was able to better process the information presented to me. The programming assignments were challenging but not impossible, and the tutorials for each assignments always seemed to provide the necessary clues to find the solution. And on completing the class, I feel that I have gained a significant amount of knowledge of Machine Learning, which provides me a bridge into a new knowledge domain. I highly recommend this class to anyone wishing to learn the basics of Machine Learning.
By Sarang D•
An excellent starter course if you want to start building your own ML systems and have a background in math. The course covers the high-level agenda and issues of developing and deploying ML systems in real life, while disbursing an engaging learning experience with a good amount of math and algorithms involved. The programming exercises are very well setup, helping you focus on the core learning for the segment. (Of course, setting up the problems is also a key part of the ML workflow, and you should try to spend time trying to do it yourself.) Centred around GNU Octave or Matlab, the course doesn't cover the applied aspects of real-time ML systems and deployments for server-grade operations, but it does touch upon the logic behind the MapReduce programming model for big data computing. Overall, the course was an excellent experience - challenging at times (rightly so), but fun throughout. Take this course in its entirety if you are looking to develop ML models as an engineer, and especially if you're looking to get up to speed with ML development as a part of product/portfolio management.
By Vincent D•
Great class. Much better than most I have attended in person. Excellent instruction, excellent resources, excellent programming exercises, excellent support in the forums, especially by Tom Mosher. Video is a much better medium than live lectures because of the flexibility, shorter segments, ability to stop and study something before going on, and ability to repeat when necessary. Great practice in vectorization. Excellent introductions to the necessary elements of ancillary topics. Bought the certificate. We live in a golden age for learning. Getting this kind of instruction would not have been possible for someone in my situation 30 years ago. I am grateful and looking forward to whatever I learn next.
Took this course to develop skills to work on artificial intelligence and other projects. One previous project described in article at http://www.kdnuggets.com/news/2007/n09/7i.html
Very satisfied. I have not been able to stop talking about how good this class is since I began taking it, and will continue to recommend it as the first step for anyone serious about the topic.
By Martin v B•
The course is well taught with clear examples and a good practicum. It certainly is worth your time looking into if you are (relatively) new to machine learning as it provides a strong basis. The practicum system submission and grading system works very well.
Some words on improvement: * Some of the video and audio quality feels dated as it is recorded around 2011. * When finishing a course I felt left an addition video about what changed in the last decade. * In the practum I sometimes had the feeling that key components were left out, such as creating the hypothese in the SVM. Imho it would be better if the practum scope had a wider scope on the core of the algorithms presented later in the core. * Being a mathematician, I enjoyed some of the backgrounds. However, sometimes I felt a bit left-out because some proofs were missing that aren't not that hard to grasp (such as why the backprop works or why the inner product does what it's suppsed to do while spanning a basis). A couple of extra (optional) video's on the mathematical background of these key ideas would have been appreciated.
By Daniel W P•
This course was very nicely done. Dr Ng's videos and narrative were excellent. They were long enough to convey the material properly and short enough not to loose my attention. Assignments were very good as they left you just enough room to fail, learn and ultimately succeed. The quizzes were thought provoking. On the questions that stated "choose all that apply," I would suggest that some form of feedback be provided so that the test taker could know which ones were incorrectly selected/not selected. Perhaps partial credit would be good instead of 0/20 with one wrong selection. Feedback, perhaps an explanation, would be appropriate on all questions incorrectly answered.
I would also suggest a pdf document that showed how to do the various matrix operations in octave with an example or two. This would include basic and advanced operations. I know linear algebra, I just didn't know the syntax in octave and this cost me 3-5 hours over the whole course.
Now off to do some simple applications here at work like spam filter and anomaly detection to start. Thanks for an excellent course.
By Harsh B•
This was a very introductory course to Machine Learning, very well taught by a very experienced Prof. Andrew. I will recommend people to take this course to understand the working of various machine learning algorithms conceptually. Although, various proves like Back-propagation, PCA, etc. are not explained in this course, you will never feel like being not able to grasp any of the contents of the videos. I personally watched the videos at 1.25x and it just went as good as it would have been at 1.0x, except for saving the time and completing the course in 6 weeks rather than 11.
Videos are very well organised and the instructor elaborates every section with as ease as any other. In short, I have become a fan of Prof. Andrew.
The only short-coming of this course is that it doesn't have any section dedicated to Bayesian Learning, Knowledge Discovery and few of the other basic topics related to Machine Learning. I will, therefore, request Prof. Andrew and Coursera team to give sometime developing one of the courses containing all the modules that have not been covered within this one.
By Suhas B•
A truly remarkable course. Andrew is a great teacher and the course brought back memories of my University days.
Now, about the course:
1. Being my very first foray into machine learning, I was not sure as to what to expect in terms of both the content and my takeaway. I would gladly say that the knowledge gain has been very positive.
2. Even if it was recorded more than 7-10 years back, it is still valuable learning. Andrew points in all the right directions and sets up a good foundation. Yes, it does not have every bookish derivation but it sets up the broad spectrum so that consuming additional information from other sources won't be difficult.
3. The programming assignments were fun and insightful. It may be straightforward for a person with prior experience in the field but for beginners, it's a challenge.
4. Finally, the software being used in the course is Octave. For some this may be a downside but I was actually surprised by its very similar approach in both syntax and structure with Python. It will be great learning to self-code all the exercises in Python.
By Xiaocong Y•
I want to deeply thank Professor Ng for everything he had taught me in this course. For me, in the beginning, I always knew that the only way to realize the dream of one day pioneering the AI industries and perhaps even help building the world of tomorrow of a Technology Utopia is through actually putting in the work into learning everything from the ground up. As a high student myself, though, these high-level, math intensive college computer science and AI courses like Machine Learning have always been intimidating to step into. Were it not for Coursera's platform and Professor Ng's genuine, intimate, and definitely extraordinary lectures and personality, I could not see myself smoothy entering the field this early and only have my passion ignited hotter than ever. Thank you, Professor Ng, I promise you I will continue down the path I chose, and regardless of difficulties and obstacles, I will push through, step by step, and just perhaps, one day, I will be able to attain that dream I still cling onto. When that day has come, I will remember my first course in ML and you.
By Rene L•
Un cours excellent qui traite les principaux aspects du Machine Learning avec une ligne directrice sur la gestion de l'erreur et les différentes techniques qui visent à réduire cette erreur. NG présente les problèmes de réduction de cette erreur avec la gestion du Gradient et les différentes options pour éviter les minima locaux. Ensuite on comprend mieux l'impact des paramètres de régularisation pour la régression logistique ainsi que les spécificités des architectures neuronales. Le cours nécessite un investissement certain en temps pour comprendre le contenu et préparer les exercices sous Matlab mais on apprend beaucoup dans ce cours même sur des sujets plus complexes comme les SVM et les Kernels. Ensuite pour ceux qui veulent mieux comprendre les traitements de l'image quelques exemples (ce n'est pas mon domaine). A la fin NB aborde le Big Data avec Hadoop et la parallélisation des traitements (initiation). Il ne manque que les approches autour des techniques d'Arbres (absence totale) et les réseaux bayésiens ou algorithmes génétiques. Mais c'est un très bon cours
By Yuqing L•
Can't say I am in any way not satisfied with the course, but here are a few personal feelings taking this course: 1. It is basically very straightforward to understand, although some part prof Ng takes extra time to care for some details, which I suspect for some students with solid math/stats foundation will find redundant, but indeed help those who don't a lot. 2. The algorithms introduced in this course are basic but also powerful, and relatively straightforward to understand too. 3. The programming exercises are very carefully designed to help students with the algorithms, while leaving the details of other programming components, which are very very very important to keep students on speed. 4. This course may require a little bit of Object-Oriented Programming language knowledge, and a little bit of calculus and stats to make the studies more smoothly. Thank you so very much prof Ng to have this course shared and this might actually turn out to be one of the most influential series in introduction to machine learning. - By some random fresher in the university
By Kevin R•
This was a phenomenal dive into Machine Learning! I will admit, not having a strong mathematical background, I struggled throughout the course, feeling like I was bobbing up and down, just managing to keep my head above water regarding some of the linear algebra involved (although the option linear algebra review unit was extremely helpful and much appreciated). That having been said, Professor Ng did an excellent job of not only teaching popular Machine Learning algorithms, and how to implement the same in either MATLAB or Octave, but he provided a wealth of practice advice for debugging and fine-tuning those algorithms as well as when and how to use them in real-world applications. This was my first course in Machine Learning and I enjoyed it very much, in spite of my struggle with the math. (I actually feel motivated to take some remedial math classes, i.e. linear algebra, statistics, and calculus in order to better understand the math behind these fascinating algorithms and to gain more comfort with what they actually do). Great course, invaluable information!
By Michael J P•
Great course from an expert in machine learning. It felt like the right amount of math - not so much as to derive everything from scratch, but enough to understand how the underlying algorithms work - what cost is being minimized, how gradient descent is used, etc. The programming exercises were quite good as well...not super easy but not too hard. I was initially skeptical of the choice of matlab/octave (rather than say python) but in the end it made sense. There is a lot to be said for grappling directly with the vectors/matrices and seeing things like how the weights are applied, how the sums can be vectorized, and similar "closer to the metal" aspects. Another terrific aspect to this course is that there is a fair amount of material on how best to apply machine learning, in terms of training, cross validation, test sets, understanding bias vs variance, learning curves, and understanding in general where to focus efforts next in a machine learning problem rather than spending months on something that would give minimal gain. In summary, well worth the effort.
By David M•
This is an excellent survey course in Machine Learning for anyone who isn't an expert already. It moves at just the right pace to keep you challenged without being overwhelmed. The staff are very helpful, and the professor makes sure to get his point across before moving on. In fact, if I had to offer only one criticism it's that sometimes he will repeat the same thing over (many many times), which is unnecessary and thus sometimes frustrating because we have seek bars and speed control for the lectures.
It's quite remarkable how well this course communicates a high-level understanding of the concepts without bogging it down with much of the scary math that is often associated with ML. For those of us who are interested in getting into the nuts and bolts, the professor makes sure to name concepts so that they can be further researched at one's leisure. He gives you what you need to solve the problem, but doesn't do it for you.
I highly recommend this course for anybody interested in learning how many of the most useful technologies of this century actually work.
By Vidyut K•
A really good course for an in-depth overview (is that an oxymoron?) of machine learning.
1 Prof Ng's teaching style is very good. The slides, his narration and his on-screen notes all combine together quite well to create a good learning experience.
2 The pre-requisites are not very heavy. If you've programmed in any language (not necessarily Octave) and you're willing to spend an hour revising some high school maths, you're good to go.
3 The course covers a representative set of techniques - linear and logistic regression, clustering, SVMs and basic neural networks.
4 The depth is not enough for you to become an expert in real-world application in any of these techniques. In my view, that would take a few weeks and a proper project in each of these techniques, which is beyond the scope of such a broad course. However, Prof Ng does go much deeper than just explaining the techniques. For each technique, there is good coverage of how to judge the end results and what to vary to tweak the efficacy of the technique. To me, this made it the perfect first course in ML.
By Sebastian S•
Extremely well done course! Every video carefully explains the part of the concept being introduced. Whether its the derivation of a concrete formula, such as gradient descent, or a qualitative concept, such as the vector support machines, the tutor's explanations are always very clear and concise. I like that a lot of different ideas are covered, and even though I have a mathematical background, this course doesnt require it, since the most mathematical parts are left to the interested reader while the focus lies on the applications. A very beginner friendly course, all you need is some basic calculus and probability theory. Also , if its too easy for you: the notes of the actual Stanford University Course (!!) can be found in the materials section of the course, so you can "play the course on hard mode", too. That Stanford version is a lot more mathematical and difficult. All in all a very very good course, and I'm happy I tried it. I would probably do every course done by this tutor, he is that good of a lecturer. Coming from a maths and stats lecturer, btw.
By Lorenzo C•
First of all I'll like to thank Andrew Ng for the great initiative of putting together such a brilliant effort. Our society evolves due to special people such as him. Great guy!
Would also like to thank our mentor Tom Mosher for the perfect timing and intelligent contribution to us through out the course. Without his patience, knowledge and dedication we would have probably never gone so far into learning. Thanks Tom!
The course is much better than I expected. I couldn't thing of this level of learning was possible through a long distance course. There were moments were I felt just like I was taking regular presencial classes.
The material, the support, the time and content of the videos, the level of the exercises, the mentoring structure were vary important to the overall result.
As there is noting relevant to suggest as improvement, I would suggest us to have pictures sent in order to create a "Class Album" for us to remember who walked along with us over this nice weeks. Including, of course, Andrew and Tom.
Thanks guys for the great contribution to all of us.
By Rujbir P•
This course is an excellent introduction to machine learning. Credit goes to Prof Ng for making a complex subject so simple. He made it easy for people without mathematical background to understand the concepts behind the various algorithms. The course covers the core algorithms of machine learning in adequate depth. That level of depth is required to get a good understanding of the concepts surrounding an algorithm. What I find very exciting is that after completing an assignment, one can use the code to solve any problem outside the assignment set. I found it very exciting to use the algorithms to solve external problems including those on Kaggle.
I also found the documentation in assignments pdf documents and that in the code very helpful. Great job done there.
My recommendation for improving this course would be to include some more algorithms which are commonly mentioned on various forums on the internet e.g. tree based algorithms, random forest etc. Or at least give an introduction to these algorithms for students to then explore them further on their own.
By Sangar S•
There's something about this course that keeps you focused video after video, lecture after lecture, quiz after quiz and assignment after assignment. Maybe its the way in which the course has been put together beautifully with every topic coherently completing one another. Or maybe its the beauty in which every concept is explained so that students can understand and visualize what is happening. Or maybe its practical examples and case studies that complement the topics discussed. Or maybe its the interesting yet challenging programming assignment that when completed makes you feel accomplished and keeps you coming back for more. Or maybe it's all of it.
Don't mistake this course for THE COURSE to master Machine Learning. But this is THE COURSE that will introduce you to the topic giving enough theoretical and practical skill set leaving you hungry to learn more. If you're taking the first step in ML, this is a great place to start and once you're through it, it sure won't be the last step.
All in all, great course by Prof. Andrew Ng. Cheers. Happy learning.
By Stepas T•
Good starting course for machine learning topics.
Pros: examples and uses of practical applications in exercises; adequate content.
a) It's a video-based course, so supplemental reading material is quite thin. Check out lecture notes if you don't want to sit through (some or all) the videos; also if you are acquainted with the subject matter and math notation, slides might just suffice to pass the quizzes.
b) I found some topics (expectation maximization and PCA with different similarity matrices from unsupervised learning in particular) missing. At least EM is present in the CS229 course proper, so I guess it was deemed to be too advanced to include here.
c) Coding mostly consists of filling in main equations. Additional exercises asking for more analysis (e.g. "find best parameter" in one of the earlier weeks) or application of tools for another problem similar to the walk-through would be great.
Conclusion: I wouldn't dare to call myself an expert in ML after finishing this course, yet it was entertaining. I'd give it a 4.5/5, so let's round up.