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.
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.
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 Isa M•
Took this course in 2021. There are some aspects (not delving into math, using MATLAB/Octave instead of Python) which wont be liked by many, But I d say take your time, consider that this course is as much available to math experts as beginners. MATLAB/Octave implementations are much more fun than I expected. Learning to use those tools will give you some flexibility and then you can move on to many free/paid sources online for Python implementations. Also consider this course is one of the pioneers, but how well it aged despite fast growing ML. Last reason to pursue this course is Professor Ng himself, you can feel how much he enjoys talking about ML and tries not to intimidate beginners with Math. In addition, he tries to give as much practical advice as possible, which will be very valuable for future ML workers, rather than remembering formulae that are available anywhere. Definitely worth investing time for beginners and also experts in ML, for refresh and having fun. I would like to also thank to Mentors and community that keep this course alive.
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.
By David L•
For someone with basic math and calculus skills, I won't lie it was quite the task to ramp up, I was intimidated at first (Legendary Stanford), but you just gotta use google to figure out the holes. I will say that I wish that there was a lot less "hand-holding" for the assignments, but without it, I probably wouldn't have finished! I would recommend doing it with a friend for motivational purposes, as if you fall behind, it's really hard get caught up. It's A LOT of time to invest.
It blows my mind that there are formulas and algorithms out there to minimise, organise and classify data in ways that I saw but never knew how to formulate. I'm not sure if this stuff will stick, but it has been a great introduction into the world of machine learning and data science. I plan on continuing my quest to become the worlds greatest Machine Learning analyst. Problem is that life gets in the way, and I need time. If I could just win the lotto, it would allow me to go back to school and dedicate my life to this full time. ~sigh~ . ... One day.
By Vydyam K A•
Prof Ng has boosted the amateurs confidence in Machine Learning.
As the Machine Learning Technology needs more Mathematical concepts, the frequent use of algebra and calculus terms in the course shall hint the student to gain more knowledge on those areas of mathematics.
This course shall provide a strong foundation in Machine Learning, two main observations, after few weeks of class I noticed.
1. After each week/section completion, review the topics with additional material and with more exercises. This aims in better understanding.
2. Knowing Python (or similar programming language to use in Octave/Matlab) is highly recommended, as the programming assignments targets the concepts learned in the class, but if we don't know how to do vectorization and use loops, this might result more costly for larger datasets.
Overall, after 11 weeks, I gained some knowledge on Machine Learning and certainly wont have to put a blank face when someone talks about the ML terms.
I wish everyone taking this course to have passion on this and all the very best :)
By Antonio S H•
I think this is a great course. So, before going on with the review, thank you Andrew, you're a great teacher. I've found everything you tough us very interesting. We should thank-you because I'm sure you're also a very busy person and still you find time to teach this amazing field of machine learning to other people.
With that said, I have found the contents of this course very interesting and useful. I found this course by chance, looking for information on machine learning. I was interested in the field of natural language processing and understanding, but I didn't have a background on machine learning. After the course, I have though about other places where I can apply the learned knowledge: surveillance cameras for my home with presence detection, facial recognition for the gate, etc. And I think this knowledge can help me a lot in the future in the professional life as well.
Well, summarizing, I strongly suggest other people to take this course. Maybe if not for professional reasons but the knowledge given here is very very interesting.
By Artem C•
Я благодарен автору этого курса! Благодаря курсу я ознакомился с концептами машинного обучения! Мне очень понравилось то, как Andrew NG подает материал. Он связывает понятия через аналогии, понятные на интуитивном уровне. Курс стал для меня дебютом в машинном обучении. Теперь я знаю о существовании многих алгоритмов машинного обучения и в будущем, уверен, смогу применять их на практике.
Очень крутая особенность курса в том, что задания, которые в нем предлагаются- это отмасштабированные задания из реальной практики, примеры тоже приводятся из реальной практики разработок различных систем.
Я в восторге! И в смятении, потому что теперь у меня в кармане столько инструментов. Их хочется применить, а где и как, пока не знаю.
У курса есть одна особенность, которую можно вопринять как негативную: большинство кода в заданиях написано за тебя, тебе нужно написать лишь пару строк, но строки эти сутевые для понимания работы алгоритмов).
К каждому заданию по программированию прилагается обширный pdf на английском, где подробно разъяснена суть задания.
By Sonya S•
This is my first experience with an MOOC and I thought it was awesome and I'm sad it's over. If Professor Ng created any other ML courses I would sign up instantly. I also found it really easy and super beneficial to take the homework data sets and objectives but do them entirely in python using pre-existing scikit-learn where possible.
Emphasizes practical application and does not go into to much math detail. Professor Ng is an excellent speaker and obviously a very clear thinker. You get the sense that content is carefully curated by someone who knows what is actually useful for doing ML in the real world. The data sets and the broad objectives for the HW sets are a good balance of not too messy or challenging, but enough practice that you come away feeling you could actually use some of this stuff on your own real problems.
HW in matlab / octave :( I did all the homeworks in Python (mostly scikit-learn) instead. Quizzes are just mediocre, sometimes vague phrasing, sometimes quizzing you on octave syntax, sometimes too easy.
By Qiang L•
This is an excellent course!! It has amazing Professor and teaching team. It covers main topics in Machine learning. The coding exercise is funny and not too hard. You can find all the useful information on forum and teaching staff. The structure of this course is also terrific. Some people said it would be better to teach this course in Python. I also have the same feeling in the beginning. After finishing this course, I would say that Matlab/Octave is the best option.
I have two tiny suggestions for this course: 1. If it can go a little bit more deeper into the mathematical detail of every algorithm, that would be useful, maybe make it as an optional session for those who wants to get insight into the mathematics. 2. If there is a capstone project in the end and we can work on it.
In the end of the course, Prof. Ng said: Thank you very much for having been a student in this class. I want to say: Thank you very much for being an gorgeous professor and making this class. Also, thanks to teaching team/ every staff for making this happen.
By JAGANNADHA L•
This course teaches you as much about machine learning as it does about the technique of teaching. Prof. Ng took very complex topics and explained them in an easy to understand/intuitive way. I took a lot of different statistics courses in my life and I do have an analytical bend of mind. But no one has taught as lucidly as Prof. Ng did. The programming exercises (and the associated comments in the code) help you to refresh the concepts that you just learned. When you see the outputs of your efforts in a picture or a graph/chart, it makes you feel good; having accomplished something. Though I wish the course has been taught using Python or R that seem to be the languages of Machine Learning, I strongly recommend this course no matter what skill level you have. The tutorials and the forums are highly useful as well. I almost feel a little lost that this course is over as I was looking forward as to what comes next including what color shirt Prof. Ng is going to wear for the next lecture. Learning is definitely fun. Enjoy the ride!!!
By Saurabh Z•
Must say this has been an eye-opening experience for me! The content itself is very well structured and it for me at least this was an excellent introduction to ML concepts, and I found this to be a very appropriate level of depth - detailed enough to get one's hands dirty and learn by doing, but also allowed the course to move at a fast pace without getting bogged down in any one area.
I am also completely amazed by the simplicity in which Andrew has explained the ML concepts which can be quite heavy for most people. Making complex concepts simple is a mark of a great teacher and now I know why Andrew is a legend in the AI/ML space.
The pedagogy or the course delivery mechanism has also worked for me very well, with the combination of videos, slides, quizzes and the assignments giving a very 'classroom-like' feel to the course. I did not participate much on the boards, but will surely try to do that in the next course I take with Coursera.
All in all, a course I have already recommended to many people and will continue to do so!
By Ian H•
It's a little bit outdated but covers what you think are going to be the essentials (plus a lot more essentials that you didn't think about) really well. Good pacing. I'd have preferred a python/numpy set up for the programming topics but actually you learn a lot about details of matrix/vector manipulation that you would never do with something like scikit learn.
Nicely paced and pretty broad coverage. It's really helpful to know something of the math and low-level operations behind ML algorithms vs. just using them as a black box.
One minor criticism (esp if you are not experienced with Octave/Matlab and didn't study linear algebra at university) - there is a bit of a gap between Andrew's "implementation" in the course notes and the actual implementation that you need to do. I spent hours wondering "what on earth am I meant to do here?". Use the tutorials - I didn't find these until later in the course. Sometimes they hand-hold you a little too much but will certainly reduce your stress levels and get you through the exercises.
By Shawn D•
Very manageable amount of knowledge gained per week, though I did take more time to finish the program. I dedicated week hours and weekends to this class and enjoyed the learning process which always felt like I could finish by just putting in the time. I was fortunate enough to have extensive Matlab and programming experience as well as exposure to high levels of math (incl. lin alg at a top engineering college) which both definitely helped my progress. When I was wrong, the program helped me see where I was mistaken and the notes (PDFs) were definitely useful to study from and summarize our learned topics. The programming was definitely hard, but the algorithm explanations definitely helped. Not an easy course, but simple and straight forward. Completed about 3 weeks over time including one week of full vacation on my part (much needed though and allowed the knowledge to sink in). Andrew is a nice and effective professor, but listening at 2x is a must! 1x for non-native speakers is likely. Excited to start the next course!
By Krishnan I•
Very good course on machine learning. Prof. Andrew is a very good teacher and I look forward to taking more advanced / specialisation courses in machine learning taught by him.
Most of the concepts and algorithms are explained very well. Programming exercises are simple as approx. 75% of the code (except the core algorithm) is pre-written in all exercises. I think if some more optional and real-life problems are added towards the end of the course, to be completed offline, would help understand and remember the concepts that were learnt. This would give more practice to the students on applying the various algorithms and help reinforce the concepts while not increasing the overall course time.
Also, I think it would be better if the prerequisites are mentioned in the FAQ / About section or even better would be to explicitly create a section named "Prerequisites for the course" with some pointers to what specific topics would help understand the course better. I had to search thru the discussion forum to get this info.
By Rahul B N•
Thank you Andrew Ng for making this such a wonderful course , Looking forward to your next Deep learning.ai specialization. With lots if respect thank you sir!
I also want to thank coursera for offering this course to me and I'm in high debt to this platform! thank you coursera.
It was hard really hard, To complete each programing exercise need you to understand the depth of the topic what you just learned. This course make you feel like "Yeah, I should drop this Today!". I'm From a non-maths background which made me even harder to focus on but I didn't quit instead I learned maths from the imperial college london "Mathematics for Machine Learning Specialization" , Through coursera and I came back to this course!
This course is highly informative you will get to the depth which you never imagined off, gives a super solid foundation to build anything beautiful above this. If you ever find this hard just believe me I too felt the same, but as wise man said "If I can do it you can do it".
All the very best, Gold Luck!
By Jon C•
Great introduction to the principles of machine leaning and its core algorithms. Do NOT let the Octave/Matlab dissuade you - while I'll likely never use it for real problems I think this was a good choice for teaching and playing with a new language was kinda fun in itself. I would've liked to see Decision Trees in the curriculum, and sometimes I felt the videos ran long on easy concepts and went through important points too quickly, but I also recognize everyone has different priorities and backgrounds. This course strikes a good balance on those issues.
One tip: You can get away with filling in the blank functions of the coding assignments and learn little except transcribing equations into matrix operations in Matlab. Don't do that. Read all the code, play with parameters and see what happens, google things that make you curious, etc. This is important to get the most out of those. Fundamentally, despite the awesome materials, these are not "hand holding" courses and are best used as vehicles for self-study.
By Antonino I•
Excellent class to gain a broad overview of the field of machine learning. I was already quite familiar with data analysis and linear algebra. The teacher is great at breaking down complex topics and give progressive step-by step understanding. The math notation is very lightweight and I would have liked a more expanded linear algebra context. However, it was quite easy to connect the course material to a more formal linear algebra approach and I enjoined doing so as a side during the course.
The number of topics and the depth of each topic strikes a pretty good balance between the need of deep understanding of each technique and the need to have abroad enough awareness of different methods. I particularly like all the elements related to "debugging" machine learning that are introduced throughout the course. These include model evaluation and crucial decision like whether to work on improving the model or collecting more data, which component of the pipeline to will give the most gain if perfected and so on.