Tools from machine learning are now ubiquitous in the sciences with applications in engineering, computer vision, and biology, among others. This class introduces the fundamental mathematical models, algorithms, and statistical tools needed to perform core tasks in machine learning. Applications of these ideas are illustrated using programming examples on various data sets. Topics include pattern recognition, PAC learning, overfitting, decision trees, classification, linear regression, logistic regression, gradient descent, feature projection, dimensionality reduction, maximum likelihood, Bayesian methods, and neural networks.
Instructor Details
Courses : 1
Specification: Machine Learning

39 reviews for Machine Learning
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Price  Free 

Provider  
Duration  120 hours 
Year  2020 
Level  Expert 
Language  English 
Certificate  Yes 
Quizzes  No 
FREE
Anonymous –
It is a very well balanced version of the course. Some time ago I tried watching the original Stanford video recording of this course and it was too dry with endless math derivations. On the other hand, this interactive Coursera version strikes the right balance between the theory and application. The course is very practical and you can build very useful systems just based on the material presented in the course. I’ve watched several similar courses, and this one is by far the best.
Anonymous –
This is possibly the most outstanding university class you will ever take. It is definitely the best university level course I have ever taken, and I have taken quite a few, both in person and online (MOOC). If you have any interest whatsoever in how computers learn to recognize faces, text, or recommend movies you might like, this class is nearly perfect in every way.
The instructor is an amazing human being and as cofounder of Coursera cares deeply about education. Yes, you will have to do some programming, but the instructor assumes no previous knowledge and all the information you need is available online. You will probably need to plan to spend more time on this class than estimated if you are a newcomer to computing, but only due to your background, not because the instructor has not organized the material in the most efficient and convenient format possible. Unlike some other poorly thought out MOOC where you waste time looking for information or confused about what is expected, this class is extremely well organized and presented in a straightforward, humble manner. In fact, I would suggest that any professor wishing to teach an online MOOC class should take this class first to see how real teaching is done by a professional who really knows the material but is not trying to impress the students with his knowledge by confusing them unnecessarily.
This is not an easy class, but it is tremendously rewarding to complete. It will probably expand your mind a few IQ points.
Anonymous –
All other Machine Learning courses require an advanced knowledge of programming, this one is not, and I really appreciate it as I have a background in statistics but not much coding experience . Great course, highly recommend to anybody who is interested in data.
Anonymous –
Great stuf, even if such a broad range of topics could be easily split in two more courses.
Explanations are clear. I had liked a way to use other programming languages than octave (i.e. Scala or Python)
John Johnson –
A lot of participants were concerned that it was a watered down version of Stanford’s CS229. And, in fact, the course was more limited in scope and more applied than the official Stanford class. However, I found this to be a strength. Because I was already familiar with most of the methods in the beginning (linear and multiple regression, logistic regression), I could focus more on the machine learning perspective that the class brought to these methods. Programming exercises were done in Octave, an open source Matlab like programming environment.
Wickwack –
Professor Ng is extremely clear. His lectures are extraordinarily well organized, thoughtful, and clear. The assignments are interesting, relevant, and not too difficult.
After completing the course, I took MIT’s open Linear Algebra course, and at that point was able to get more of the mathematical background. Professor Ng was very careful to present the material without much math impressive to say the least. However, once I got more of the mathematical background, I felt much more solid in my understanding.
Santosh Goteti –
This is a watered down course of Machine Learning. However, if you are a beginner, this course is a great way to start learning about Machine Learning.
Scott Orr –
Andrew Ng is a clear and charismatic lecturer, he covers advanced techniques, and he provides a number of practical tips, but the programming exercises are a bit canned, and may not fully prepare students to write their own scripts in Octave.
The exercises involve mostly copying and pasting, rather than writing entire scripts. There’s a reason for this: the focus of the course is on algorithms, not on other parts of solving machine learning problems
My final concern is that Machine Learning seems to have gone on autopilot at this point, with little or no attention from Ng or anyone else who helped him prepare the course materials. Questions in the discussion forum are answered instead by “Community TA’s”, that is, volunteers who took earlier sessions of the course.
Despite these concerns, I still heartily recommend Machine Learning as a valuable starting point for anyone interested in data science.
Mark Wilbur –
This course is famous. It’s taught by the equally famous Coursera co founder and ML star, Andrew Ng. Though I found this class to be one of the worst learning experiences I’ve had with a MOOC, I really have to say I love Andrew’s ability to explain things and the way he teaches in general.
There were several problems, though. First of all, the set up instructions for Mac were broken. Much more importantly, the class is not comparable to Andrew’s actual ML class at Stanford. Throughout the course, he keeps telling students not to worry about the math, and spoon feeding equations to us. Worse still, I was able to get a 150% (i.e. massive extra credit) on the first assignment without actually understanding what was going on. The programming assignments were mostly done for us, with just a line or two that needed to be filled in. Amazingly, those missing lines were sometimes in the class slides. If I could change just one thing about the class, it would be to greatly increase the amount of homework.
Class Central user –
The course has some theory and math as necessary, but was primarily a practical skills course and focused on applications of ML.
Kirank Karkera –
One cannot ask for a better introduction to Machine learning. This course has a gentle pace, no prerequisites, and gives a 10000 ft view of the many aspects of Machine learning in general.
Prof Ng is a very gentle instructor, and he tries to break down the complicated math and explain it in a very understanding manner.
The assignments are probably too easy as they just ask you to fill up a few lines in Octave files, but that does not take away the usefulness of the course. It shouldn’t be hard to complete this course in parallel with a couple of others
Kartik kukreja –
The course focuses on the practical applications of machine learning rather than the mathematical theory behind it. The programming assignments are very thorough and cover almost all the topics taught in the class : Regression, Spam Classification, Neural Networks, SVMs, Dimensionality reduction and Recommendation systems. All coding is done in Octave.
This is a hectic course which will keep you engaged throughout. I would recommend it for everyone serious about Computer Science.
Anonymous –
Background elements:
I’m an engineer by trade and have been working on statiscal projects in field of transport regulation for about ten years.
I have some general background in maths and theorical computer science, I’m capable of programming.
I followed this course in order to developp my professional skills.
I did perform most review test without much trouble, I didn’t do most of the programming exercise due to everyday work and as I wasn’t too eager to get into another programming language at the time (Octave).
I had significant (if old) linear algebra training and had already previously learned some of the methods displayed.
I didn’t find this course very intellectually challenging and you should take that as a compliment. A.Ng is able to expose what many people would make complex in a clear and simple fashion.
Many of the things I already know became much clearer after I took the course and I learned a lot of new stuff.
I wish I had had such a great teacher when I was a student. I highly recommend this course for anyone getting started with machine learining.
The only problem I see with this course if that it sets the expectation bar very high for other courses. Unfortunately many other courses on Coursera, even from renowed universities, aren’t as great.
Rick –
Best class I’ve ever taken.
Now I feel like I have a super power. The hard part now is trying to figure out what problems I’d like to swoop in and try to solve.
Nitin Gupta –
I was completely new to ML but never felt lost while taking this course (completed yesterday). The programming assignments are a bit watered down in that most of the “boilerplate” is already written but you still get great insight with whatever is left for you to implement in particular, learning to write vectorized code is what I found immensely useful.
Martin Bede –
A great introduction to machine learning. I wish it was more in depth and covered more topics, but it’s still my favorite MOOC so far.
Wei En –
This course is an excellent introduction to machine learning. Professor Ng’s explanations were extremely helpful and his use of visuals and demos helped me to understand the content very well.
Unfortunately, this course is just an introduction and is a watered down version. The equations are spoonfeeded to students without much explanation. If you wish to apply machine learning to your programs, this course is an excellent choice. However, if you wish to understand more about the math behind this, you should consider taking another course.
Prose Simian –
Prof Ng simplifies ML as much as possible and no more. In the complex arena of ML, that still leaves things fairly complex… But thanks to this course (which I’m 90% of the way through) I feel like I’ll have a sufficient intuitive grasp of ML for vaguely sensible use of the many prebuilt libraries now available in the field.
This course should also provide a framework for coping with the remaining complexity entailed by deeper study, and motivation to brush up on the related mathematical tools, where necessary.
On the downside, there are some avoidable glitches in the course materials. For someone like me, new to Matlab/Octave, these significantly increase the time requirement for the coding assignments which are clearly intended to be pretty simple if you know what you’re supposed to be doing. This adds to the already high frustration level learning a new programming language/environment can entail. And presumably the course’s attrition rate a shame, because even with these flaws it’s really very well done.
Deep Learning can wait Prof Ng this deserves your attention! ML for the people!
Ankit Dhall –
A really good course with focus on basic algorithms and techniques in the field of ML. Regression, Neural networks and SVMs are some of the techniques taught by Andrew Ng. Video lectures are good and material is well explained. The course also helps in learning Octave and its basic syntax; the notion of vectorized code is introduced. Coding assignments are easy and most of the code is just ready to be filled. It is a very basic intro to ML nonetheless a well constructed course.
Moshe Bergman –
Machine learning course was the best courses I ever found. Andrew is a great teacher on Machine Learning, and he presents just the right amount of math that you need to know in order to understand the lecture. The programming exercises are also setup in a way, where all the hard work of getting the data, converting it to the right format, getting the matrices setup etc. is all done for you. All you have to do is add the relevant material presented in the lectures and use the grader to see if you got it right.
I highly recommend this course to anyone who is interested in the subject.
Gregory J Hamel ( Life Is Study) –
Machine Learning is one of the first programming MOOCs Coursera put online by Coursera founder and Stanford Professor Andrew Ng. Although Machine learning has run several times since its first offering and it doesn’t seem to have been changed or updated much since then, it holds up quite well. This course assumes that you have basic programming skills. Assignments also require many vector and matrix operations and slides include some long formulas expressed in summation notation so it is recommended to have some familiarity with linear algebra. You don’t need to know calculus or statistics to take this course, but you may gain deeper insight into some of the material if you do. The course uses the Octave programming language, a free clone of MATLAB.
The course runs 10 weeks and covers a variety of topics and algorithms in machine learning including gradient descent, linear and logistic regression, neural networks, support vector machines, clustering, anomaly detection, recommender systems and general advice for applying machine learning techniques. Lectures are split into 3 to 15 minute segments with periodic quizzes and each topic section has a corresponding quiz. Section quizzes are worth 1/3 of the total grade but you get unlimited attempts (with a 10 minute retry timer.). Andrew Ng does a good job explaining dense material and slides although the audio levels are often too low. If you don’ have good speakers you might need headphones to hear him talk. The other 2/3 of the course grade is based on 8 multi part programming assignments that typically involve filling in code for key functions to implement machine learning algorithms covered in lecture. The course gives you a lot of structure and direction for each homework, so it is generally pretty clear what you are supposed to do and how you are supposed to do it even if you don’t understand 100% of the materiel covered in lecture. You need to achieve a total score of 80% to earn a certificate, so while you can retry quizzes and resubmit programming assignments you’ll have to get most things to work in the end to get one.
Machine learning is a great course if you can get past quiet audio. If you’ve never used Octave or MATLAB before, don’t let that stop you from taking this course: learning the basics necessary to do the assignments only takes a couple of hours and it will help you think of things in terms of vectorized operations.
I give this course 4.5 out of 5 stars: Great.
Alan Du –
A fairly good overview of machine learning, with a fair amount of breadth but almost no depth. Good introduction for a non technical audience, with only a high school grasp of calculus and a little bit of linear algebra.
The exercises were very basic, and the programming exercises were pretty canned you could easily complete them without any real understanding of the material nor any programming knowledge.
Really, this course only taught you enough to be dangerous enough “understanding” to go around and build models, but not enough to avoid pitfalls.
Anonymous –
Great course for ML. You don’t need anything about ML to take this course. Andrew Ng does a great job of explaining fundamentals and some pretty advanced concepts. Some programming experience is required to complete the assignments.
James Solomon–rounce –
Having completed a number of MOOCs I was pleasantly surprised to find out how good this one is. The course is taught well with lectures that are challenging at first glance but explained well, I felt like I made good progress in understanding the subject.
The course did require some understanding of calculus and algebra, but nothing too difficult. Some people who had not done either subject for some time did need to spend some time refreshing their knowledge. In addition, you will need some familiarity of programming or at least the willingness to put in the time required to bring yourself up to speed.
For more advanced learners, this should serve as a good introductory course, although it will require more in depth learning in addition to the course, to be able to fully utilise some of the ideas.
To sum up, a worthwhile course for a range of abilities. Based on our study group of 20 or so learners of all levels, people seemed to think the course was good. Everyone found the programming exercises on backtesting a challenge!
Jasper Brener –
This was my first MOOC and I took it on its first offering. I found the course to be thoroughly engaging and immediately became hooked on MOOCS. This was not only because the subject matter was so interesting but also because of Professor Ng’s enlightened use of the internet to teach complex material. Indeed, although I had been a university professor for 40 years, this course changed my view of how to provide higher education. Letting students rewatch lecture videos as often as they wish, retake tests until they have it right, everything “open book” and providing hands on experience with real tools and data, makes the subject matter completely accessible and learnable by the interested student.
MichaB Gasiorowski –
Great introduction to machine learning.
Programming assignments were too much “paint by numbers” for my taste not enough depth.
I didnt’t like language choice either I thing more “mainstream” would be R/Python.
Anonymous –
The introduction videos had high quality audio. The audio quality of the videos I have seen after I payed for the course is terrible. Breath sounds are as as loud as the speech itself. The production quality of freely available instruction exceeds what I have experienced with Coursera.
Robert Stahr –
This is a great course. Andrew Ng really knows how to communicate his passion for the subject. Everything is clear and concise, well said and well written. I wish there were more courses like this one. The only thing I would have liked to be different is the programming language used. Andrew uses Octave, which is fine for a course, but much less useful than Python. Maybe a couple of videos on “Machine Learning in Python” could do the trick.
Anyway, I highly recommend this course for anybody wanting to know about Machine Learning!
Vishnuvardhan Reddy Gillella –
It is a very good course for anyone who wants to begin their journey into Machine Learning. The course is well structured and well taught by the Prof. Ng.
You don’t have to have any background in Matlab/Octave but a programming background is needed.
Neural Network related programming assignments are a bit hard compared to other assignments. But, overall there isn’t much programming to do except for filling code in some functions.
Overall, it is a very good course and you will learn a lot at the end of the course.
Mal Minhas –
I published my thoughts on the course and its contents on in a blog post which you can find here: http://malm.teqy.net/machine learning coursera/
Hideki Saito –
This class is very well instructed and easy to follow. (The contents are fairly complicated, but since he limits prerequisite, and it’s fairly “self contained.”) The course covers various regressions in machine learning, as well as some application topics that can be useful in designing effective machine learning systems. I can see that Andrew Ng is a brilliant man with real life knowledge of how machine learning system works, and I like the way he provides some context, too.
I highly recommend this course.
Anonymous –
I was able to finish this 11 week MOOC in ten days because the materials are a fine balance between succinct and comprehensive and very engagingly presented. I was initially turned off by the use of MATLAB/Octave as the programming language of choice for the assignments, but I found them relatively painless and well crafted to give the student a modular view of how these machine learning algorithms work and the possible optimizations when implementing them.
I had exposure to many of the concepts before taking the class, but had never implemented or understood the mathematics behind any of the algorithms until taking this MOOC. It serves equally well as an overview of some of the most important “bread and butter” techniques in the field as it does a jumping off point into other, more specialized machine learning lessons. In fact, that is my suggestion for anyone interested in this MOOC: take it and complete all the lessons, then immediately dive into using the techniques in another MOOC or toward a project of your choosing to maximize the benefits.
The concepts covered in this MOOC include linear regression, logistic regression, forward propagation and backpropagation in neural networks, support vector machines, recommendation systems, and collaborative filtering.
Anonymous –
I am an Electronics Engineer so obviously I had limited programming knowledge and was absolutely a beginner in field of ML. But Prof. Andrew was a terrific teacher. He was highly organized, thoughtful and made complex topics extremely easy to understand.
Paolo Perrotta –
Low production values; terrible audio quality; a very traditional, mostly non interactive approach… and yet, this course manages to be one of the best I’ve ever taken. The quality of Andrew Ng’s teaching is just *that* good. He’s a rare case of a world level expert that’s also extremely good at communicating his knowledge. This guy makes you wish you could shake his hand and buy him a beer at the end of each lesson.
This course proves that a skilled human with a whiteboard can still beat the bells and whistles of more expensively produced trainings. If you know little or nothing about Machine Learning, it will give you a solid foundation.
Aditya Ananthram –
Really interesting course and a perfect starting point for someone who wants to step into the world of machine learning. The instructor andrew ng is just brilliant and math topics are covered really well.you can take this course even with no programming background.
By the end of this course, you’ll be confident in applying some of the most widely used algorithms on octave.
The one drawback that this course has is that we are made to implement in octave rather than python and after the course we have to learn python ourselves.
Anonymous –
My opinion is very personal.
In my view, taking a class rather then reading a book has one fundamental aim: make it easier and faster to get workable knowledge on a topic and to capitalize on it.
In other word the objective of such a class should be: get knowledge you can use in a fast and effective way. This class does none of that. Really, it DOES NOT! I have maybe spent 150 hours on this class hoping to get something real out of it. All I got is confusion and a better idea about the topic in general. After 150 hours you should be able to confortably produce something, no? Well, I was not able to do more than the taxi driver next door. What a time sucking class for zero workable knowledge!!!! Then I went to take the same class on Datacamp. Believe or not, one month later I was doing GREAT stuff with it (I am pro trader) and the total time spent on it was about 20% what I had spend on coursera. Frankly, this class is plain BS given the ratio of what you get versus what time it takes… Never again!
Izem Imrane –
I was able to finish this 11 week MOOC in 4 weeks because the materials are a fine balance between succinct and comprehensive and very engagingly presented. I was initially turned off by the use of python/R as the programming language of choice for the assignments, but I found them relatively painless and well crafted to give the student a modular view of how these machine learning algorithms work and the possible optimizations when implementing them.
Ruilin Yang –
Personally, I value MOOCs of either [demanding and rewarding] type or [relaxing] type. This one, though overly famous, is neither.
I finished this MOOC at around Feb, 2017, with the hope that it can help me with my transition of career. But in the end I feel apart from a paid certificate, I get almost nothing. **All you need is to interpret the mathematical formula in the slides, to be able to later program them with a programming language called Octave.**
Is it really of no value? Well, you still can gain something, like practicing your ability of blind mimic. But the really valuable thing, like gaining insight to think and formulate problems on your own, cannot be reached by translating dead mathematical formula to code.
Kristina `ekrst –
This is the best course on Coursera. I’m happy to see it become a self paced class for everyone, but I believe that it should run regularly as well, since the course like this deserves to go live. The self paced look of Coursera courses isn’t as good as the live one, and this course focuses on Octave/Matlab programming assignments, which are a better fit to a live course. However, this is just a platform choice critique, the course itself is simply amazing. However, watch out it’s not a beginner’s course. Previous experience in linear algebra is strongly encouraged, and programming experience is required, otherwise you’ll get stuck in the beginning. Huge recommendation!