Back to Machine Learning

4.9

stars

147,514 ratings

•

37,534 reviews

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you'll learn about some of Silicon Valley's best practices in innovation as it pertains to machine learning and AI.
This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas....

PT

Sep 01, 2018

Sub title should be corrected. Since I'm not that good in English but I know when there're mis-traslated or wrong sub title. If you fix this problems , I thin it helps many students a lot. Thanks!!!!!

PM

Jul 14, 2019

This course is amazing and covers most of the ML algorithms. I really liked that this course has emphasized math behind each technique which helps to choose the best algorithm while solving a problem.

Filter by:

By Yuqing L

•Jan 16, 2017

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

•Jun 17, 2019

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

•Jul 07, 2018

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

•Nov 21, 2015

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

•Feb 15, 2020

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

•Dec 05, 2016

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

•Nov 15, 2016

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

•Aug 20, 2015

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

•May 04, 2020

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 Stepas T

•Mar 07, 2018

Good starting course for machine learning topics.

Pros: examples and uses of practical applications in exercises; adequate content.

Remarks:

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

•Oct 15, 2017

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.

Peace out!

By Vydyam K A

•Dec 08, 2019

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

•Feb 01, 2020

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

•Mar 15, 2019

Я благодарен автору этого курса! Благодаря курсу я ознакомился с концептами машинного обучения! Мне очень понравилось то, как Andrew NG подает материал. Он связывает понятия через аналогии, понятные на интуитивном уровне. Курс стал для меня дебютом в машинном обучении. Теперь я знаю о существовании многих алгоритмов машинного обучения и в будущем, уверен, смогу применять их на практике.

Очень крутая особенность курса в том, что задания, которые в нем предлагаются- это отмасштабированные задания из реальной практики, примеры тоже приводятся из реальной практики разработок различных систем.

Я в восторге! И в смятении, потому что теперь у меня в кармане столько инструментов. Их хочется применить, а где и как, пока не знаю.

У курса есть одна особенность, которую можно вопринять как негативную: большинство кода в заданиях написано за тебя, тебе нужно написать лишь пару строк, но строки эти сутевые для понимания работы алгоритмов).

К каждому заданию по программированию прилагается обширный pdf на английском, где подробно разъяснена суть задания.

By Sonya S

•Jan 06, 2017

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.

Pros:

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.

Cons:

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

•May 20, 2020

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

•Jun 15, 2017

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

•Jan 28, 2018

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

•Jan 12, 2019

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

•Jul 08, 2019

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

•Jun 22, 2020

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 Jon C

•Sep 15, 2019

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

•Jan 30, 2019

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

•Mar 13, 2019

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

•Feb 16, 2020

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!

- Finding Purpose & Meaning in Life
- Understanding Medical Research
- Japanese for Beginners
- Introduction to Cloud Computing
- Foundations of Mindfulness
- Fundamentals of Finance
- Machine Learning
- Machine Learning Using Sas Viya
- The Science of Well Being
- Covid-19 Contact Tracing
- AI for Everyone
- Financial Markets
- Introduction to Psychology
- Getting Started with AWS
- International Marketing
- C++
- Predictive Analytics & Data Mining
- UCSD Learning How to Learn
- Michigan Programming for Everybody
- JHU R Programming
- Google CBRS CPI Training

- Natural Language Processing (NLP)
- AI for Medicine
- Good with Words: Writing & Editing
- Infections Disease Modeling
- The Pronounciation of American English
- Software Testing Automation
- Deep Learning
- Python for Everybody
- Data Science
- Business Foundations
- Excel Skills for Business
- Data Science with Python
- Finance for Everyone
- Communication Skills for Engineers
- Sales Training
- Career Brand Management
- Wharton Business Analytics
- Penn Positive Psychology
- Washington Machine Learning
- CalArts Graphic Design

- Professional Certificates
- MasterTrack Certificates
- Google IT Support
- IBM Data Science
- Google Cloud Data Engineering
- IBM Applied AI
- Google Cloud Architecture
- IBM Cybersecurity Analyst
- Google IT Automation with Python
- IBM z/OS Mainframe Practitioner
- UCI Applied Project Management
- Instructional Design Certificate
- Construction Engineering and Management Certificate
- Big Data Certificate
- Machine Learning for Analytics Certificate
- Innovation Management & Entrepreneurship Certificate
- Sustainabaility and Development Certificate
- Social Work Certificate
- AI and Machine Learning Certificate
- Spatial Data Analysis and Visualization Certificate

- Computer Science Degrees
- Business Degrees
- Public Health Degrees
- Data Science Degrees
- Bachelor's Degrees
- Bachelor of Computer Science
- MS Electrical Engineering
- Bachelor Completion Degree
- MS Management
- MS Computer Science
- MPH
- Accounting Master's Degree
- MCIT
- MBA Online
- Master of Applied Data Science
- Global MBA
- Master's of Innovation & Entrepreneurship
- MCS Data Science
- Master's in Computer Science
- Master's in Public Health