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.
This is the best course I have ever taken. Andrew is a very good teacher and he makes even the most difficult things understandable.\n\nA big thank you for spending so many hours creating this course.
By Yash B•
This course was very well taught. There was a impressive focus on the basics and fundamentals of each topic. The lecture slides encapsulates the topics well and thus there was no such need of making my own notes which speeded up the learning process ;).
By Juan J G P•
Great course. A progressive discovery of the maths inner to the learning algorithms. This course gives that insight many ML practitioners don't have and is so important for making real use cases work.
By Alexander C•
This was a great course, and I highly recommend it! Andrew Ng made me feel like he's my machine learning pal. I can see why this course is so popular.
I docked it a star because the assignments could really use an update. The work flow for completing them includes consulting multiple documents of (sometimes contradictory) instructions as well as errata documents, tutorial posts, and discussion threads. It's too much and when your script isn't working it makes it difficult to know whether you made a mistake or if maybe there's some updated note that you missed. If all of the assignment notes were just consolidated into one document, then five stars for sure!
By Jerome T•
I like the course very much. One point where it could be improved are the assignments: it is really nice to be guided and to have a big part of the programming prepared but the drawback is that many times I didn't feel in control of what was happening. For example, that was hard to know basic features of the implementation (is this data a row vector? a column vector?) since I didn't decide it. This leads me to spend quite some time on trying to fix simple problems. In short, I wish I had felt more "empowered" during the assignments.
By MAHESH Y•
it is one of the best course for beginners in machine learning, the only thing it lacks is its python implementation. If there is the python implementation of this course then no other course is better than this one
By Alexey M•
Well, this course has at least 3 undeniable cons:
1. It exist;
2. It offers certificate for reasonable and affordable price;
3. It has "Stanford" in title.
Still, it could be improved in many ways.
First of all, it has poor video and audio quality, maybe worst I've personally seen in MOOC. Dear Stanford! Professor Ng is cool, give him room with windows, 1080p camera and microphone! Even less famous educational establishments can afford it.
Second, subtitles are also poor. English is not my native language but I dropped subs in my language after first try. English subtitles also have a lot of errors: many words are garbled with homonyms; I'm lucky to have some background in course theme and without it I would be completely lost trying to understand what's even going on.
Third, I think this and many other courses are suffering from past teaching system and experience. What is classical teaching system? There is lecturer narrating and writing on the board, sometimes showing something; there are students listening and taking notes. Well, still better than "watch your master working, nothing will be explained" method (still present in some cultures), but what century it is? XVII, XIX? We are learning "Machine Learning" via Internet, and watching materials being hand-written in process? Seriously? Even basic HTML skills in this days are enough to show formula, where you can get reminders of it's every part by simply moving cursor on it (Wikipedia is one example). After two weeks break in learning it will be very effective way to remember fast "what's going on, why this formula is so big and what the hell is that squiggle", and learning process will be improved greatly.
Little more HTML effort, and there will be way to live demonstrate curves, planes and how different parameters affect them; it will be possible to let students experiment while learning which is great improvement for learning, memorizing and understanding.
These are just examples, but hopefully my point is clear.
Quizes are too easy, solvable with "hey he just said that" method and some intuition, not require deep understanding.
Programming assignments are well prepared and explained, but programming materials amount is not enough for me.
Thank you professor Ng for your efforts!
By Jerome P•
Good introduction course, giving an overview of machine learning algorithms and some methodology. Off course a lot can be added, but it's a good start for people with little to no knowledge or experience in this field. A few points that could be improved: I would like to have better material support for each section. Marked-up slides are not a great support for reviewing the different sections afterwards.
It would not hurt to provide a little bit more theoretical background and justification when covering the different algorithms. Andrew Ng almost apologizes when going into mathematical equations, but this is fundamental to machine learning.
quiz assignments are rather easy. They could be a little more challenging
I would rather have the programming assignment using R or python than Matlab.
But still a decent course overall I think.
By Aman J•
I don't know why people have overated this course. I have attended other courses and they never skip the topics and jump to other. 1) The voice of Mr Andrew is horrible, its extremely low, and not consistent at all which is really very annoying, we have to look at the subtitles and rewind back and see actually what we explained on the screen. 2) The way he explains is really not good, I really have to re-run the lectures again and again to understand, as he jumps and don't explain why this/that happened. Everytime we have to search the forum for answers. Really not happy with the course.
The course is not for people with not mathematical backgrounds plus its using matlab.. these days R and Python are more used in the industry for ML. I found to this course via friends that said it's hard but very recommended.. i think there are easier courses online that can deliver the same concepts
By Ivan Č•
Certificate is expensive!
I would not recommend this course anymore in 2021 since it is almost 10 year old now and it really shows! While essentially a good starter for machine learning, this course spends way too much time elaborating simple and obvious concepts while completely skipping over most mathematical explanations or more in-depth explanations of the presented topics. Furthermore, this course contains a myriad of errors in the presented slides, complete reluctance for any consistency in variable indexing (even in the same equations), painfully obvious editing mistakes, and the English subtitles are utterly useless. Seriously, a machine learning class with a gibberish as subtitles that was probably auto-generated using machine learning is irony at its finest.
By Igor U•
The test questions don't match the lecture material. It seemed that the tests were written by another person. Also tests contain errors, because according to the lecture material, answer should be correct, but by marking it the system tell me that it's incorrect.
Having 12 years of experience in software development, I can say that the course was absolutely useless for me. I enrolled on the course because after registration on the home page of Coursera it appeared in popular block. And I didn't pay attention on negative reviews, henceforth this will not happen with me again.
By Tibet M•
I was quite disappointed in this class where the exercises are too onerous and out of date. For example, Convolutional Neural Networks are not covered. Also, a lot of the material is dated from 6 years ago. There was also no help when I wanted to ask a question. When I asked where a certain material will be covered I did not get any response either. The last 1-2 sections were also wrong as I know that is not what is done in the industry. You will be disappointed if you take this course after a lot of work.
By Marcelo O•
i got stuck in one quiz i thought that maybe it was just me, i tried it a second time and got it wrong again.
I tried this quizz like 7 times and all of them were wrong so i took a photo with the sniping tool to check my good answers and then i tried inserting them but i just failed so this course or the program for grading doesnt work
By Germain M P•
Poor audio and video quality, what compromises the learning process
By Harry E•
Before I go into why I liked this course so much, let me give a little context on my motivation to taking it. My background is a Bachelors in Math, and 9 years working in finance in a role involving very little computer science or statistics. I wanted a change of industries into the world of Data, for which a significant amount of learning and retraining were necessary; however before just enrolling on and committing to a masters degree, I wanted to answer some questions. Do I enjoy this? Am I able to learn it? Do I want to take this field a step further? Fortunately, the answer to all of my questions was positive.
I have to compare this to the ML module of JHU's Data Science specialisation, which I found rather frustrating as it was too brief to properly go into how the algorithms work. No discredit to the JHU team, I thought the overall course was great and served its purpose, but if you are like me and want to understand what's going on under the hood of these algorithms, this is a superb course. None of the maths is particularly hard, you will need to brush up on some linear algebra, and no prior Matlab is required. Some pretty tough concepts are built up from great simple motivating examples, for me the Neural Network / logic function was the best example of this, and I was extremely satisfied with how I grasped the material. There are enough real world applications thrown in to stay relevant (Data Science is a practical field after all), my favourite was seeing my predictions for number recognition appearing on the screen from the Neural Network I'd just trained appear on screen.
One critique I read of the course which I slightly sympathise with is that the programming assignments become a little like syntax exercises coding an equation into Octave, and thus lose their effectiveness in teaching you. I slightly agree with this and would love to have developed more parts of the algorithms myself, but with the limited time the course has, reading through the code of each of the exercises rather than just clicking through is a decent enough half way step. I would recommend everyone to do this, the point of the course is not just to pass the assignments, but to read around the material a little bit and follow exactly what's going on. That has to be left up to the student.
Overall, I feel like I'm equipped with what I need to get my hands dirty with some datasets to work on my own projects, and give Kaggle a crack. And that's pretty cool considering a few weeks ago I knew pretty much nothing about any of this. Onto the next step in my Data journey!
By Irfan S•
Extraordinary course for beginners (as well as for people with experience)!
If you are a beginner (as was I before taking this course), then this course is the perfect way to start learning Machine Learning. Even if you have some experience with ML, it'd be useful to learn about the recommended practices for choosing the right approach for a problem or something like debugging an algorithm.
Dr. Ng presents a huge amount of information in a structured manner, bundled with questions within videos that keep you focused. The quizzes and programming assignments complement the lecture videos. The programming assignments are in Octave. This is not necessarily a negative point (as other reviews are saying). If you are familiar with Python (or C/C++/Java etc), then it won't take you more than a few days at maximum to grasp the syntax of Octave. There is a lot of helper code in the programming assignments, so you mostly focus on the actual implementation of algorithms and such. Dealing with vectors and matrices in Octave has been a relatively better experience for me as compared to in Python. If you're stuck with programming exercises, then there are elaborate tutorials in the Resources section.
Possibly what I loved the most about this course is how Dr. Ng always mentions the recommended way of doing things (and how things are done in the industry). He also teaches you real life examples of how ML is currently being used by companies (for e.g. the course weeks on Recommender systems, Photo OCR, etc). So, if you're trying to learn ML for job prospects, this will be of great help.
Even though there's a fair bit of math (Linear algebra and some Statistics), Dr. Ng will help you walk through it and make you understand what you need to know.
Overall, this course has been a great help for a beginner like me. I recommend this to anyone who is looking for a course to start learning ML.
To Dr. Ng, the mentors of this course, and all the people who made this course possible, I want to thank you from the bottom of my heart. It's not easy creating so many hours of content (lecture videos, quizzes, assignments) and providing it online to thousands of people. I'm grateful for all your efforts.
By Kevin M•
This is a terrific class! The Course is well structured in terms of videos, invideo pop-up quizzes, course notes, programming exercises, and the discussion boards & mentor community. The 11 weeks includes 8 programming exercises, with usually 5-6 "code submittals" per exercise.
The option of OCTAVE or MATLAB is great (I used MATLAB). A key aspect of this course is using vectorized methods in every programming assignment. There was always an option to write a procedure approach (e.g. do loop for summation steps like sum of squared differences for gradient descent or linear regression). The computational advantage, the simplicity of using vectors, and ending with "crisp" code is a great step
I have completed a similar class from MIT (Python or R based) and the exercises in this class were far superior in reinforcing the course materials.
This journey takes you through Supervised Learning models leveraging Linear Regression, Logistic Regression, Neural Networks, and Single Vector Machines and how gradient descent is the cornerstone to determine the theta values needed to optimize your hypothesis. Unsupervised Learning using K-means, PCA, and Anomaly Detection. Specific real life example for Recommender Systems, Character Recognition and large scale machine learning.
The various topics on "advice" by Professor Andrew Ng is invaluable. Understanding how to measure performance of your algorithm is key. Underfitting (bias) and over fitting (variance), regularization, learning curves, evaluation (precision, recall, and F1), and error analysis. Of particular note, is his understanding how to objectively determine how to what to work on next and how to apply "ceiling analysis" in complex pipeline ML applications.
A final note, the course mentors are unbelievable! Tom Mosher and Neil Osgrove are truly special. Their understanding of the material, their patience, and their incredible responsiveness is highly beneficial to the learning experience. You have to do the work and figure it out, but the mentors are there to help you navigate the Machine Learning journey!
By Michael B•
I would definitely recommend this course! I was very impressed by the quality of the lectures. Professor Ng uses the medium very well. He's easy to follow and the content is solid.The assignments were also good. They provide a ton of scaffolding, so you rarely have to write a lot of code, but if you never used Matlab before (like me) and it's been awhile since you've taken linear algebra (also true for me), then "thinking in terms of vectorization" takes a bit of getting used to. I'm really happy that I've been exposed to it, though, and it's pretty impressive how much computation you can express in one or two lines of Matlab.I only had to use the forums once at the beginning to figure out why I couldn't submit assignments. (It turned out that my version of Octave was too new for what the assignments had been tested with.) Once I got that sorted out, I never had to go back there for help, which I thought was a good sign that the assignments were clear and had been through sufficient testing by the staff.It's certainly a bit of a time commitment. I would probably budget at least 5 hours per week. I took a lot of notes, so I paused/rewound the videos a bunch, so it took longer for me to "watch" the videos than the advertised time.Again, the assignments were often not that much code, and I think they started to take me less time as I progressed through the course as I got more familiar with Octave and the style of the assignments. They aren't there to trick you or separate the wheat from the chaff: they're really there to reinforce the concepts from lecture and have you write some code yourself so you have some chance of writing your own code for your own project machine learning project one day.If anything, the assignments provide much more help than I expected. That is, if this were an in-person course where I could go to office hours or whatever if I got stuck, I would expect the assignments to provide less scaffolding and to force you to struggle quite a bit on your own more. (Maybe I just have bad flashbacks to undergrad or something.)
By Boquan Y•
Really a great course. It covered a large variety of currently popular machine learning algorithms, along with strategies to do machine learning projects. Professor Andrew really goes deep into how to optimize a machine learning model to reduce bias and improve performance with a lot of techniques, not just simply implement a fancy machine learning algorithm. At first, I complained about programming assignments because it is done in Matlab, but after I went through some of them I really discovered that Matlab is a powerful tool used for a broad range of purposes. The course goes beyond just model.fit(x,y) and model.predict(x,y), because you'll learn the essence and mathematical proof of each ML algorithm to really comprehend how each algorithm work and how optimization work. You can still learn to build ML models in python even by yourself after this course.
However, there are still some problems I want to mention. First, for some algorithm in the second half of the class (e.g. SVM with Gaussian kernel, anomaly detection), professor Andrew didn't sufficiently mention how math works, just giving the conclusion of how we should implement. I understand that maybe it is because the mathematic proof is too complicate here or it is not necessary to know the mathematic for mastering this type of algorithm. But I still hope that I can have a deeper understanding of every model based on mathematics. Another thing is that programming assignments didn't teach us how to plot graphs. Our work is only limited to "backend" implementation, which is the completion of the algorithm using a mathematical approach. I still hope Professor can introduce how to plot different kinds of graphs to really integrate our knowledge on "backend" to "frontend" for further data analysis.
Again, this is a great course, and anyone who completes this course will gain a lot of insights on ML and will have a solid understanding for future ML studying. Thank you, Professor Andrew!
By Anuradha R•
I knew nothing about Machine learning when I started this course. I am going to start a job where I have to verify hardware for machine learning and I wanted to understand the vocabulary of machine learning better before beginning this new job. I got that from this course and a lot more! I liked the balance of mathematics, modeling and hardware aspects of this course. A key aspect of this course that elevates it is how Andrew always emphasizes evaluating the model / algorithm with real number outputs and not just plug ahead at full speed.
Thank you Andrew for putting this course together and making it accessible to all. I know how difficult it is to take a complicated topic that you are very conversant with and explain it in a way that a person not very familiar with the field understands it. And Andrew nailed this aspect.
This was also the very first course I have taken on Coursera. I am now inspired to try many more courses. Using Coursera to learn new concepts from home, without the pressure of time, money and grading is an incredibly liberating idea for me.
Overall, my experience with this Course and Coursera for me has been a 12/10.
By John H•
This have been a very good and comprehensive introduction to Machine Learning, IMHO. It have given me the all basic introduction to ML that I could have hoped for. (I'm a senior practitioner of many forms of mathematical modelling and programming, as a former Astrophysics Phd.)
In particular, Andrew Ng is an excellent and experienced lecturer, and it's something that shows in that the course have been tested on thousands of students and over long time, such that for example exercises work very well in every little detail. (Sometimes quizzes may seem a little picky having to get nearly every little question right - but it's for really getting the understanding solid, and you can always improve your grade.)
Therefore, this must be a very good choice as an ML introduction, provided that you're willing to put in the effort of a few weeks on full time. (Albeit 11 weeks is for 'normal' university study schedule, and the course can be completed much faster on full time.) It should also compare well in generality compared to other courses (like Googles Machine Learning Crash Course).
By Mark M•
Professor Ng is a great teacher, his course is both challenging and satisfying. The exercises require you to take one step beyond the lecture -- not just parrot back the transcript -- you have to think about the implications of what you've just studied. Yet Ng's presentations are lucid and informative and that next step is obvious, once you think about it.
My greatest challenge is that, although I have been programming for decades, I've only dabbled in a functional language like Octave and my last math class dates back to the 70s. However, the math requirements are not onerous and I'm struggling through the Octave assignments with some success.
Although the course is 11 weeks there are more than 16 lectures as some weeks have two complete sets of lectures PLUS there are assignments every week that take a few hours to complete. So while there is a little more work in this course than in other Coursera offerings there is great value for the money and time spent.
If you're interested in Machine Learning this course is a great place to start.
By Tanmoy S•
No matter how much I appreciate this course it's never enough.
As an absolute beginner in ML, I never found a course / source that would explain why and how things work the way they work until I stumbled upon this one through recommendation.
Given most of the courses are in Python / R they fail to explain in - depth workings of the algorithms as everything is readymade there but this one nailed it!
The assignments are seriously wonderful and gives an excellent real - world view on where and how a particular technique works.
So, if you are hesitating because of the course being done in MATLAB / Octave, I would say that go for this course, first learn the workings and then you'll be able to implement them in Python in no time :)
Again, a massive amount of respect and thanks to Andrew Ng and everyone involved in the making of this course along with the superb community.
Final word: You'll love this one if you're a beginner and want to get a kickstart in ML. Thank you & have a great day :)