One of the best course at Coursera, the content are very well versed, assignments and quiz are quite challenging and good, Andrew is one of the best guide we could have in our side.\n\nThanks Coursera
The course will give you the incites to understand the data driven mathematical functions to write softwares that can behave or change its behavior, based on stimulus (data).\n\nAndrew Ng is excellent
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.
By Olivier D•
I completed my undergraduate degree in economics. As much as I love the mathematical rigour of economic models and and theory of economics I found econometrics much more engaging, practical and able to deliver more value for others. I studied advanced econometrics like binary models, truncated models, EV and so on and having found machine learning & data science I feel that this is a natural extension for me to pursue a big interest of mine.
With that in mind, the introductory course was reasonably challenging, in the sense that the theory naturally built on econometric maths. The programming was something we touched on in university so a steeper learning curve. Linear algebra was also something I had to actively think about but again manageable.
As they say, the more you know the more you realise you don't know. I am finishing week 10 currently and hoping that there are suggestions as to where I should head next on my journey in order to learn more rather than re-capping what was covered in this course.
By Hasnain L•
Andrew Ng is a boss when it comes to teaching. Throughout the course, he has simplified the machine learning concepts to a point where they can't be simplified any further without losing their mathematical basis.
The programming assignments in the course are really fun, however, I would have preferred if the assignment packages did not include so many hints on how to program a particular algorithm. With the exception of the programming exercise on implementing back-propagation, I mostly avoided looking at the pdfs that came with every assignment and only followed the guidelines in the starter code to implement the algorithms. I felt that this allowed me to gain a deeper understanding of the architectures of different algorithms.
The course is super dense, beautifully structured, and covers most of the topics in surprisingly great detail. If you want to start building a career in machine learning, this course is simply a MUST!
My sincere thanks to professor Ng for putting together such an awesome course!
By Felipe A C d O•
Outstanding course! Andrew is an exceptional teacher, making difficult and complex topics easy to understand. The course is very well structured in a way that there are no questions left unanswered and you can have a really in-depth understanding of the topics by just watching the videos and paying close attention. I have a degree in electrical engineering, so it was quite easy to follow the course. But I believe that even people with no programming/engineering/mathematical background would benefit from this course, because Andrew makes it easy to understand the concepts and the algorithms formulations. The programming assignments really provides a good practical approach for all the theory given in the video lectures, and the code templates are very well structured to enable even someone with no background in programming to complete the tasks. The functions used and implemented can then be adapted for implementing your own machine learning problems. Overall, great course, I am very satisfied with it!
By Arun K K•
Thanks for providing a course like this. I have had experience with a lot of MOOC but nothing can come closer to the simple explanation with technical depth from Andrew Ng.
I feel really confident having done this Machine Learning Course. It has become very easy for me to interpret any Machine Learning problem and attempt to solve them.
Please convey my deep sense of gratitude to Andrew Ng. Without him the coursera and the accessibility of courses like this would have become impossible for people like me who are from developing country.
I have few suggestions regarding Machine Learning Course :
1. If possible can we have a Machine Learning Part 2 course which is more advanced w.r.t content (math oriented), data munging, some more algos and with more focus on industry applications.
I have few suggestions in general :
1. Few relevant courses are shown as archived (Eg. Neural Networks) for past few years. Can you unlock them and make them a recurring course like 'Machine Learning'.
By Ilya L•
I found this class easy and fairly interesting. I do have some math/programming/Matlab background, perhaps that's why I found the class easy. I didn't have any machine learning experience before taking the class (except perhaps knowing what a linear regression is), so it's a bit hard for me to judge the quality of the content.
I wish the class had more reading material (for about the first half of the class the videos are paralleled with reading pieces, and I think it would be great if this coverage gets extended to the rest of the course).
I do not know how much feedback is provided by the automatic grader for the programming assignments (I was lucky to have all my programming assignments accepted at first submission). If for each failed submission the grader provides the input data and the expected output, that's really great. If not, that's something that can definitely be improved (the grader can use random input and the corresponding output from a reference implementation at each submission).
By Devendra C•
Excellent course for any ML started. I like the hand-holding approach to programming which doesn't scare one off who has little knowledge of programming. Basics are cleared in efficient way. To borrow from Quora "I believe Ng’s course is especially to-the-point and exceptionally efficient, so it is an extraordinary acquaintance for somebody needing with getting into ML. I am astounded when individuals disclose to me the course is “excessively fundamental” or “excessively shallow”. On the off chance that they reveal to me that I request that they clarify the contrast between Logistic Regression and Linear Kernel SVM, PCA versus Matrix Factorization, regularization, or gradient descent. I have talked with hopefuls who asserted years of ML encounter that did not know the response to these inquiries. They are for the most part plainly clarified in Ng’s course. There are numerous other online courses you can take after this one but now you are for the most part prepared to go to the following stage."
By Janis K•
Course "Machine Learning" cover all main topics of macine learning and describe algorithms very clearly. After the course you will feel that you are AI and machine learning expert. However, this is introductinary course and I believe seperate course can be created for every topic, algorithm and method covered here.
Course gives opportunity to solve real world problems. Octave was discovery for me and I find it much easier than R.
It was easier to follow the course because I had background in mathematics. You will need to use and understand matrices and vectors that are important to complete programming assignments. However course starts with mathematics and explain all the basics that will be used in this course.
Course was quite difficult for me, it was quite difficult to complete assignments in deadlines, I had no time to think more carefully about covered topics. I will do it now after a course.
All in all I strongly recomend this course if you are interested in machine learning and AI.
By Atul S•
Excellent course, was very interesting and helpful. As with any course, I have a few suggestions:
-- Why not develop the math in vector notation from the start? It would be easier for students to take a few minutes to understand basic matrix algebra, and then the cleaner vector formulation. All those summations, subscripts, superscripts, etc. are much more confusing to tease apart!
-- It would be helpful to have Andrew (or a tutor, for that matter) to write up the notes as a text. I, for one, would have happily paid (say) $10 for a PDF with a bibliography at the end!
-- As part of my "textbook" suggestion above, or as a standalone, it would help to have a small list with explanations of Octave functions used. That is, some of the built-ins, and also some of the more complicated ones (like fmcxxx). As an extra-credit exercise, you could also advise at the end of each assignment what to do to generalize our Octave code to make it even more useful (apart from vectorization), things to avoid, etc.
By Laimonas S•
This was my second course in ML. I took it with the aim of gaining a deeper insight into some of the fundamental topics and I was not disappointed. The professor Andrew Ng teaches the concepts in a way that is easy to understand and reason about. I loved the pace and the way the material is structured. Quizes and programming exercises completed the lectures very well to give a more complete picture of the topic at hand. Actually some of the quizes and specifically programming exercises are quite challenging. This is actually a good thing as the lectures alone would make the course a bit boring and without any practical application examples.
I wish the videos were a bit better in terms of video / audio quality, so be prepared to ignore that aspect and just take the incredible knowledge that is given to you.
If programming exercises are too hard, do struggle through them and use the forums to solve them. It really helps you deepen the understanding of the concepts that are taught in the class.
By Julian C•
This class was a great introduction to machine learning ideas and implementation. Prof. Ng does a really good job of not only showing you how to code up machine learning examples in MATLAB/Octave, but explaining the rationale behind them. If machine learning is as much an art as a science, then this is the "artistic" part, which is hard to find in a textbook.
However, I do kind of wish we had covered fewer topics, but in more detail. Mind you, I'm biased because I was a math major and want to see proofs for everything, but I would have really liked to see more of the details behind support vector machines and neural networks. If you're looking for that kind of thing, then it's probably best to do additional reading on your own.
Anyway, I still gave this class five stars because I have been searching for an introduction to machine learning that could give me a broad perspective (and share some wisdom of expertise) for a while now. I found it in Andrew Ng's machine learning class on Coursera.