Excellent starting course on machine learning. Beats any of the so called programming books on ML. Highly recommend this as a starting point for anyone wishing to be a ML programmer or data scientist.
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 Tony W•
Excellent course! There are many small mistakes throughout, but these are addressed in the errata provided. In addition, a few mentors were constantly providing helpful feedback, even to questions covered elsewhere (such as the errata). I came to the course with a strong statistics background, so one o the very helpful things for me was learning the machine learning terminology for things I was already familiar with from statistics. One final point - the course is structured so that you are improving your general programming skills as you proceed. You begin by doing the simple for-loop implementation but will later see/do the more efficient vectorization. This is incredibly helpful for those who do not come with a solid basis in linear algebra / matrix algebra, since you do the intuitive/"easy" version first but later develop more efficient coding which you now understand because you did the intuitive/"easy" version earlier in the course.
By Matthew E H•
Andrew Ng is an outstanding instructor. This course takes a breadth-first approach, first glossing over the details to describe how various ML techniques are used, then coming back to describe how the underlying algorithms work. This approach worked very well for me. The intermixing of video lectures and straightforward programming exercises worked well to cement the concepts. I have a much better understanding of the ML domain than before I started. Over the past few years I have read a number of books attempting to come up to speed in the fundamentals of machine learning, but I found each lacking, either going too deep into the underlying mathematics before describing how various techniques could be used, or providing only surface level descriptions with no real world examples. I am so happy that I finally put the time into this class, I would recommend it to anyone wanting to come up to speed in the fundamentals of machine learning.
By Anant B•
This course is very well organized and exposes students to some fundamentals of Machine Learning and practical applications of them. Assignments and guidance to complete them from resources, tutorials and test cases are absolutely helpful to learn these basics and their application with an hands on approach and gives students much more confidence on what he is learning and has been able to absorb. There is a lot of complex materials covered in this class which at the beginning looked fairly insurmountable but working the Assignments with help from resources in form of tutorials, test cases to run and of course the very valuable forum discussions and moderator Tom M's continuous help made learning a lot easier than I thought. Finally thanks to Prof Andrew Ng for offering such an well organized course like Machine Learning through video lectures, lecture notes (pdf) and exercise files to make learning more meaningful and much easier to absorb.
By Pedro G•
I always had the interest in learning about ML topics in general, because of the unlimited capabilities of powerful algorithms that make possible the processing of data that, for us humans, results generally in something non-comprehensible, but it brings out marvelous results from scratch! This course offered me not only the opportunity to increase my abilities with matrices development in OCTAVE/MATLAB (and many, but more many ways in that it is possible to do calculations with a focus oriented to a tremendous performance), but in essence and most relevant, the right path to learn something of so much utility and admiration (and to be honest, very complicated at beginning to get familiar with) in such a high-skilled professional manner for explaining all involved themes. Every scenario must have a context in order to be understood, and this course accomplish with it at utmost level. I assure you will be very satisfied with these lessons :)
By Rahul R•
This is an amazing course for anyone looking to get into ML & DL.
The course doesn't jump into code directly; first it covers all the basics that you will need for completing the coding exercises. Then, there are small quizzes every once in while. These quizzes help you to evaluate your understanding. After this, at the end of each week, you will have a programming assignment that helps you reiterate what you have learnt.
Once you complete this course, you will have all the knowledge required to learn more about ML & DL on your own from other courses/online.
I am a software engineer looking to change my area of domain, and this course was the one that I chose to complete first. After this, I am going to complete Deep Learning Specialization by deeplearning.ai, and then, a course or two in computer vision. My decision to take this course was absolutely right. Thus, if you really want to get into ML, I suggest that you take this course first!
By Simon C T•
Firstly, I will like to say THANK YOU! to Mr. Andrew Ng. For putting in so much work and effort into such an amazing online program that provided me on a great introduced into Machine Learning.
I am passionate on learning and understanding first principles is something that I value. Knowing how certain concepts are formulated and developed helps me to visualize how things work. During this course Mr. Andrew Ng made complex technique very straightforward and comprehensible. This comes not only from having very good knowledge and experience but most importantly the ability to communicate to his students. Thank You Andrew Ng. for conducting this EXCELLENT course. I intend to continue to use and review the material and videos from this course as I develop my knowledge in Machine Learning. Truly loved the videos, especially the very last one and not because it didn't have a quiz in it .. :)
Simon Chan Tack (Machine Learning Engineer & student).
By Bruce M•
Great content and explanations. Exercises guided hands-on efforts through all of the major algorithms and concepts, including very useful tools such as training rate analysis, cost and gradient descent verification, etc. Exercises were well structured to focus on key concepts - i.e. didn't have to spend a lot of time sweating the details of loading datasets, plotting results, ... The code I take away is an excellent foundation with which to explore other datasets with confidence.
I was originally a bit dubious about Octave-based exercises based on some reviews I'd read from others (who were more R or python-centric), but I found it to be an excellent choice given the linear algebra underpinnings of all of the algorithms and exercises.
The linear algebra foundation and vectorization implementations I think better prepare me in approaching large scale ML problems leveraging existing / emerging linear algebra and ML libraries.
By Bill F•
Before taking this course, I took the Coursera Applied Data Science specialization which included a higher level view of ML and applications to NLP and Social Networks. That series did not delve into ML algorithms but focused on the application of ML libraries and understanding the some of the different learning classifiers and regressors. This course is an excellent complement to that specialization, the former gave a broader view of the landscape, and having that training, it gave me much greater understanding of and appreciation for what these algorithms were doing. It stretched my non-software background but I was able to learn enough to effectively complete the programming assignments. I know the whole machine and deep learning field is complex and challenging, and for a novice like me this is not going to turn me into an expert (as Prof Ng suggested) overnight, but I feel like this gave me a solid footing to further pursue it.
By Justin C•
There is a reason this course is so well regarded!
Andrew Ngs teaching method is to take a complicated concept and break it down into steps. At the end of each sections videos he presents the entire concept, at which point you intuitively understand the pieces.
When first reviewing this course I thought he didn't explain things very well, but I was wrong. The truth is, he's taken very complicated concepts and made them as simple as they could possibly be.
I would recommend this course to anyone that wants a practical understanding of Machine Learning.
I personally studied math in preparation for this course and it was helpful. It is possible to complete this course with almost no pre-requisite knowledge like math or basic coding, but you will have to do some research on your own time to fill in the gaps. I would highly recommend completing the assignments to gain a better understanding of the concepts.
You will be happy you did this course!
By Nicola G•
Very good introduction to machine learning, Andrew is a great teacher, always clear and slow enough to be able to follow everything in detail (sometimes even too slow). I like the little questions in the middle of the explanations and the quiz, well thought and almost always touching very important concepts that could be overlooked. Programming exercises are well designed, I never had problems understanding the assignment or submitting my code. Just one side note: most of the code is already implemented and sometimes there is very little the student has to do (literally 2/3 lines of code). It would be great if students had more "freedom to fail" and figure out how to fix their code. However, I realize this would be less appealing for most of the students.After all, great course, I would definitely recommend it to anybody interested in the topic without previous knowledge! I am going to take the deep learning specialization courses now!
By Rostislav D•
An incredible introductory Machine Learning course! Everything you need to get started with developing Machine Learning systems for practical applications. Programming exercises provide a solid framework for creating your own ML algorithms. Videos are to the point and give all the necessary mathematical background without going too deep into the theory behind the mathematics, but just enough to create the working implementation of the algorithm at hand. Quizzes during the videos and at the end of the week help to solidify the newly learned concepts and techniques. The lecturer, Andrew Ng, deserves a medal not only for creating this course, which has probably been a lot of work to begin with, but also for clear explanations and overall, for being a great mentor throughout this wonderful journey. What can I say, I can only wish to take more courses by Andrew to learn more about the subject and gain even more expertise on the subject!
By Krishna P•
Till I jointed this course, I thought ML was one of the toughest to learn and not the for the guys like me, who is out of Math for a decade. But the way Andrew Ng, takes this course forward, it feels like easier than learning how to code for finding prime nos. Yes, I am a big fan of Prof. Andrew Ng, and already consider as my ML guru. So much motivation I got from this course that, I have already started taking his Neural Network and DeepLearning specialization course from coursera. He mastered the art of teaching tough concepts in easy to understand methodologies. With 95% passing grade, I can confidently recommend this course to anyone.
One word of caution. Don't join this course, because someone recommended and later complain that its not a good course, if you cannot put your honest hard work and dedication. Don't join the course out of curiosity, join with passion and I bet you that you see the end of 11th week of this course.
By Sayan G•
Firstly, I would like to thank Coursera and Professor Ng for making this course available for people like myself, who have been observing recent shifts in the information technology industry from within. It has allowed me get to know, albeit at a very basic level, the machine learning algorithms being used currently in the industry, and also take beginner steps towards being able to implement them using a programming language.
Secondly, the course acts as a springboard for more specialized programmes which one might want to train oneself in. Personally, I would like to know more about Neural Networks on the Supervised Learning side, and Recommender Systems on the Unsupervised Learning side, and the information already presented herein allows me to get a head start.
I intend to make extensive use of the information I have gathered from this course, as I work towards my goal of becoming a Data Science professional.
By Li Z•
Highly recommended to anyone who wants to understand what machine learning is about. This is by far the best teaching material available online that I know as an introductory class to machine learning. I know some python programming and very little C before taking it; I tried to read the codes on Kaggle website to understand their projects, but only found myself not understanding anything when it comes to data analysis with machine learning. My friend recommended this class to me and I am glad I spent three months to study it. Never done any matrices calculations before, but it is not hard to understand it; and I have forgot most of my college math (major in basic science research in the past), with some help (online and friends' ) again that's not difficult to understand the content either. Now I am excited to learn some more advanced machine learning skills and hope to do some projects for practice. Thanks for this great course!
By Dimitar D•
The course provides a sizeable amount of pretty cohesive material, which can still be understood by non-CS students. It's very practical and it includes a very nice mix of quiz tests and great MATLAB/Octave programming assignments. After going through the assignments I started wondering about other problems which data sets I can plug with small modifications into the completed solutions. Andrew Ng keeps a great balance between explaining important details and skipping over parts that require straying too much from the main topic of the lecture. I still don't have very deep or broad knowledge in the Machine Learning domain, but it feels like the course doesn't miss anything of the fundamentals.
Overall, I'd definitely recommend the course to CS students, high-school students with interests in the computer science area and even specialists in other areas with some knowledge in linear algebra with interest in the AI and ML domains.
By Guo X W•
Had high expectations prior to taking this course because of the rave reviews. This course truly exceeded expectations. Andrew Ng explains ML concepts in a simple, intuitive manner. He tells you exactly what you need to know, and yet he provides optional videos for students who are more mathematically inclined. The programming assignments are very well-designed, and serve to reinforce understanding of key topics. I also appreciated the nice balance between theory and practical aspects of ML (e.g. how to debug, pipeline of a ML project)
Personally, I would have preferred if less starter code had been provided. I thought it would be useful to learn about how to create a machine learning application from scratch. It's also been many years since the course was first introduced. Would be great to do a renewal of it with more high-res graphics and state-of-the-art examples!
Thank you Prof Andrew Ng, I've learnt much from this course!
By Nikolay S•
It would be easy to rate the course with anything below 5 stars for it being not enough formal and academic; for explicitly not requiring prior knowledge of basic calculus and algebra; for using MATLAB instead of actual industry standards.
But that would probably be unfair, because Andrew Ng's course is a brilliant introduction to Machine Learning. Soft, tolerant approach helps newbies to overcome initial feeling of being overwhelmed by ML algorithms and learn them while playing with lots of code provided with the course.
It is also definitely worth mentioning that prof. Ng not only explains problem settings and algorithms that are suited to solve them, but also shares many experience-driven hints for actually applying ML in practice.
All in all, this course will not make you a Data Scientist, but it definitely will help you grasp the basics and prepare you for more demanding education; or even for simpler actual practical tasks!
By AbdulSamad M Z•
Machine Learning by Andrew Ng is one of the best courses I've ever taken - hands down.
The course is extremely well-organized and thoroughly covers the wide range of topics required to get a solid understanding of machine learning not only in theory, but also its applications and, more importantly, how to implement and debug it. The lessons cover a particular part of each chapter and are crystal clear. Although audio quality is not top-notch sometimes, the subtitles are there to help. The quizzes and assignments supplement your understanding by getting a hands-on experience on how to implement each concept and optimize your implementation. The assignment questions are crystal-clear in their requirements and contain additional code that visualize your work thus allowing you to focus on machine learning concepts and understand every teensy little concept related to them.
This course is worth every second and penny spent on it.
By Anton S•
This is a brilliant course. I hardly can express my experience in that short review. But I clearly feel that Andrew Ng is a very dedicated and talented teacher, as well as a great ML/CS professional. As a bit of PhD student myself I know also that mr. Ng is a real influencer in ML field, being the (co-)author of namely LDA, which is a fantastic idea. With mentioning this I just want to say that you hardly can find a better lecturer for ML. For the course, it is well-balanced, dense enough, with both in-depth and overview topics, acceptable complexity for programming assignments, and really holistic view on both research and applied aspects of the fascinating field of ML. I highly recommend everyone - whether you are a gonna-be ML engineer/researcher or just a curious CS/IT profi - take this course! It's high interdisciplinary and definitely worth learning, giving you a great insight into many issues of modern science.
By Stian R S•
Excellent introduction to different methods in machine learning. I have some prior experience with machine learning, and although this is an introduction, it gave me a lot of good tips for implementation, debugging and workflow. It also gave me a deeper understanding of the different concepts in machine learning and when to apply the different methods. Questions during the lecture videos and quizzes afterwards keeps up your attention, and the programming assigments make you understand more deeply how to implement and apply the methods on real problems. The programming exercises are mostly pretty easy if you have some experience with programming and matrix/vector multiplication, and some of them are really funny to play with and apply on your own data or pictures afterwards. The lecturer, Andrew Ng, is also very good at explaining, and you never feel that he jumps over unclear details. I highly recommend this course!
By Paul P•
Machine Learning was just the right amount of challenge for me, and really forced me to think both analytically in terms of what algorithms and programs are doing, and holistically/strategically, giving me some tools to anticipate common problems in machine learning system design. I do believe having a bit of background in mathematics and a beginner's grasp in programming helped me in the beginning, so if you don't have this knowledge, just be prepared to spend a bit more time on the material as well as brush up on some theoretical basics, such as linear algebra basics and sums/derivatives. The estimated time for completing each week of the course doesn't include the homework, which I found to be the most practical, useful, and challenging part. I would allocate 2x the estimated course time for each week if you include the homework assignments, unless you're already fluent in matrix multiplication and programming.
This course is a great introductory course on Machine learning. You don't need to know much math as everything is taught to you; if you know some basic calculus then you're fine but again, you don't really need to as it is explained. Having an introductory background in linear algebra is an asset but not a requirement. Specifically it helps to know something about multiplying matrices and the resulting dimensions but all of that is taught in the course. Give yourself enough time with the programming exercises and read the discussion forums first before attempting the exercises because they provide clarifications in some cases. I strongly encourage taking notes because you'll refer to them constantly during your programming exercises. If possible do this course with a friend so you can have weekly discussions about what you've learned, can support each other when needed and finish the course on time. All the best!
By 조대현[ 대 / 인 ]•
I majored physics in undergraduate and now majoring Artificial Intelligence in graduate course. I was having tough times getting through this new realm that I don't know very well because I was studying this for just hobby. The knowledge that I learned before was only from some articles and books without any practice but through this course, I now have organized concepts of what machine learning is and how they are used in practice. Many of you might have trouble with python because numpy is quite tricky library to use with start. But intuitive octave code made me successfully focus on the course topics not on manipulating numpy.arrays(because it takes so much time to do that). Last video was impressive because Andrew said he also had hard time studying this field and I'm totally related to that. Thank you for nice video and thank you for making me feel that I'm not alone in this field. I'm really appreciated! :)
It was a wonderful experience completing this course. The review questions present inside the video, the quiz and the Assignment, All these together made the journey even more interesting. It boosted up my confidence that I am getting the things rightly. Few times, Programming Assignments created obstacles as it was not accepting our code which seemed all right to us but as they said, the code needs to be correct for every type of data. So the assignments when completed, used to make proud as well. For help, there are many options available as test cases, mentors.
I enjoyed it thoroughly. Special mention to Sir Andrew Ng, I couldn't expect more. He is just the Best I can say. Thankyou is a very small word to express for gratitude.I really got connected with him. Thanks a lot sir.
Last but not the least. thanks to coursera organizers who are doing a wonderful job. I will surely start a new course once I get time.
By Raju K•
Great course. Really enjoyed watching and listening to Professor Andrew. The course material, quizzes and programming assignments are of very high quality. The programming assignment may require some time and effort if you don't have programming experience. I am a software engineer so It was relatively straightforward for me. The programming problems were very good to reinforce the leanings and it was enjoyable to see the code you write working on real-life solutions. The mathematics is not too heavy if you can remember junior college matrix algebra and a little bit of calculus. The course does not expect you to know in-depth details. The course covers a wide variety of machine learning basics in a short, concise and effective way. I notice, "concretely" is the most often used word in the lectures and it follows with a practical explanation of how to apply and implement the concept learned. Great job, Coursera.