Feb 20, 2016
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.
Jun 26, 2020
This course is a very applicable. Professor Ng explains precisely each algorithm and even tries to give an intuition for mathematical and statistic concepts behind each algorithm. Thank you very much.
автор: Daman A•
Mar 28, 2020
The course needs a platform where people can actually apply all techniques independently and learn by way of being graded on their accuracies in prediction. Otherwise the assignments just become a mere copy-paste mechanism of the formulae provided in the pdfs.
автор: Shitai Z•
Nov 19, 2018
Too easy for people with background in machine learning. But would be a good introductory one if you have zero understanding in machine learning and want to change your career track.
автор: Vyacheslav G•
Feb 23, 2019
Sadly it's just introduction. And i would recommend to make course for python instead of matlab/octave
автор: Malcomb M•
Jul 21, 2017
Content was OK, but quality of teaching was fair at best -- important points glossed over, many not made clear at all, some simply omitted: Bayes classifiers, decision trees, etc, etc.. Audio visual quality of lectures poor. Ng's onscreen scrawls and voice recording were terrible, and there were many mistakes in graphics. Numerous typographical errors in exercise instruction .pdf's. Exercise text itself (ex__.m files) had numerous "pauses" that failed to instruct the user what he had to do (or not do) next, so you had to carefully examine what followed. If more care was put into exercise construction, the "pause" text in the command window would not just say "Enter to continue" but say what coding action was needed to continue. Obviously a lot of work has already been done on interactivity: Quizzes, online Submit scripts, which for me all worked extremely well. But clearly the course could use a lot of improvement in many aspects. Thus I grade it: C-
May 11, 2018
Material of this course could be presented much deeper. Mr. Ng tries to avoid mathematical explanations.
автор: Loftur e•
Sep 17, 2018
Assignments are very messy.
автор: pierre c•
Jan 17, 2016
The course may be great, but the sound of the video is really terrible, this is a big problem for me and possibly to other users, at the point where I decided to stop watching.
Please do something about it !
Jul 10, 2019
My feeling is that the author of this course has no idea what is "Machine learning" - I have the impression that he repeats slogans which he does not understand.
автор: Harry E•
Oct 04, 2017
Before I go into why I liked this course so much, let me give a little context on my motivation to taking it. My background is a Bachelors in Math, and 9 years working in finance in a role involving very little computer science or statistics. I wanted a change of industries into the world of Data, for which a significant amount of learning and retraining were necessary; however before just enrolling on and committing to a masters degree, I wanted to answer some questions. Do I enjoy this? Am I able to learn it? Do I want to take this field a step further? Fortunately, the answer to all of my questions was positive.
I have to compare this to the ML module of JHU's Data Science specialisation, which I found rather frustrating as it was too brief to properly go into how the algorithms work. No discredit to the JHU team, I thought the overall course was great and served its purpose, but if you are like me and want to understand what's going on under the hood of these algorithms, this is a superb course. None of the maths is particularly hard, you will need to brush up on some linear algebra, and no prior Matlab is required. Some pretty tough concepts are built up from great simple motivating examples, for me the Neural Network / logic function was the best example of this, and I was extremely satisfied with how I grasped the material. There are enough real world applications thrown in to stay relevant (Data Science is a practical field after all), my favourite was seeing my predictions for number recognition appearing on the screen from the Neural Network I'd just trained appear on screen.
One critique I read of the course which I slightly sympathise with is that the programming assignments become a little like syntax exercises coding an equation into Octave, and thus lose their effectiveness in teaching you. I slightly agree with this and would love to have developed more parts of the algorithms myself, but with the limited time the course has, reading through the code of each of the exercises rather than just clicking through is a decent enough half way step. I would recommend everyone to do this, the point of the course is not just to pass the assignments, but to read around the material a little bit and follow exactly what's going on. That has to be left up to the student.
Overall, I feel like I'm equipped with what I need to get my hands dirty with some datasets to work on my own projects, and give Kaggle a crack. And that's pretty cool considering a few weeks ago I knew pretty much nothing about any of this. Onto the next step in my Data journey!
автор: Melinda N•
Sep 04, 2015
Before starting this course, I had no previous knowledge of machine learning and I had never programmed in Octave and I have little/no programming skills. This is a 11-week course and so I was not sure if I would make it to the end (or even get through the first week) but I was keen to learn something new.
Positive Aspects: The course is extremely well structured, with short videos (and test questions to help us verify if we have understood the concepts), quizzes and assignments. Prof. Andrew Ng presents the concepts (some very difficult) in a clear and almost intuitive manner without going too much into detail with mathematical proofs, making the course accessible to anyone. The mentors were fantastic and provided prompt responses, links to tutorials and test cases, which all helped me get through the course.
Negative Aspects: Searching the Discussion Board for something specific was no easy task. I would have liked to have known the answers to some of the questions in the quizzes that I got wrong.
What I loved about this course: Learning how powerful vectorization is, it allows us to write several lines of code in one single line and can be much faster than using for-loops. I was wowed several times.
Prof. Andrew Ng is a great teacher. He is also extremely humble and very encouraging. During the course he often said, "It's ok if you don't understand this completely now. It also took me time to figure this out." This helped me a lot. He also said, "if you got through the assignments, you should consider yourself an expert!" and I laughed silly. By no means do I feel like an expert but now I have a basic understanding of the different types of learning algorithms, what they could be used for and more importantly this course has generated a spark in me to use this tool for things that I find interesting and for that I am very grateful. I don't think a teacher has ever thanked me for assisting a class. This is a first-time! So thank you Prof. Andrew Ng and everyone who worked to put this course together. Also, special thanks to Tom Mosher (mentor). My best MOOC so far!
автор: Michael B•
Dec 19, 2016
I would definitely recommend this course! I was very impressed by the quality of the lectures. Professor Ng uses the medium very well. He's easy to follow and the content is solid.The assignments were also good. They provide a ton of scaffolding, so you rarely have to write a lot of code, but if you never used Matlab before (like me) and it's been awhile since you've taken linear algebra (also true for me), then "thinking in terms of vectorization" takes a bit of getting used to. I'm really happy that I've been exposed to it, though, and it's pretty impressive how much computation you can express in one or two lines of Matlab.I only had to use the forums once at the beginning to figure out why I couldn't submit assignments. (It turned out that my version of Octave was too new for what the assignments had been tested with.) Once I got that sorted out, I never had to go back there for help, which I thought was a good sign that the assignments were clear and had been through sufficient testing by the staff.It's certainly a bit of a time commitment. I would probably budget at least 5 hours per week. I took a lot of notes, so I paused/rewound the videos a bunch, so it took longer for me to "watch" the videos than the advertised time.Again, the assignments were often not that much code, and I think they started to take me less time as I progressed through the course as I got more familiar with Octave and the style of the assignments. They aren't there to trick you or separate the wheat from the chaff: they're really there to reinforce the concepts from lecture and have you write some code yourself so you have some chance of writing your own code for your own project machine learning project one day.If anything, the assignments provide much more help than I expected. That is, if this were an in-person course where I could go to office hours or whatever if I got stuck, I would expect the assignments to provide less scaffolding and to force you to struggle quite a bit on your own more. (Maybe I just have bad flashbacks to undergrad or something.)
автор: Malcolm N•
Jan 11, 2016
My CS friend recommended me to take this course to learn more about how to use data in business, after he heard that I wanted to program an app for food. he warned me about the great deal of math involved (mainly linear algebra). me being a physics/engineering major I naturally got even more excited (it turned out that he was right, and it would also be a huge plus to know multivariate calculus, and I can see myself struggle with the concepts had I not studied both these topics to bits in school). incidentally, this was my first online coursera experience. I can tell you it will be life changing experience. No longer do I have to physically travel somewhere to listen to lectures or hand in assignments, nor download lecture notes off of the school server. This is a 24/7 always on always available service, with the best TA's to answer your questions if you get stuck on homework assignments and quizzes. Everything in the coding assignments tests your knowledge of the course lectures and is designed such that you can complete it in the shortest possible amount of time while reaping the maximum amount of benefit. It is "easy" sense does not require you to grind through mundane things like looking for your own training set data or writing code to plot and visualise the data, but it is "hard" in the sense that very often it takes an hour (or more) of studying the lectures and thinking to figure out how to solve the problem in the most efficient way as possible which often involves writing a single line of vectored matlab/octave code. It is more of an overview of the most important topics in machine learning, but will be a great springboard to go in depth into each aspect of it. Lastly, Andrew often offers wonderful insights into the day to day of machine learning professionals in his lecture videos, so I would advise watching every single minute of them to get the most out of the course instead of aiming to race over the finish line (which can be tempting at times when the deadline approaches)
автор: Daniel J D•
Jul 11, 2018
This course is vital. People can do machine learning using out-of-the-box tools like keras, fast.ai, theano, tensorflow, and do amazing things. But to understand what's going on internally, to understand what it takes to get things to converge fast and to perform accurately and to be as useful as possible, to understand various types of networks and new discoveries later on, it really takes a good, healthy, rigorous foundation at least in very simple calculus, matrix algebra, back-prop, stochastic gradient descent, linear and logical regression, and such. If you try to forge ahead and get stuck or cannot come up with a way to build a proper model later on, you may find yourself giving up or returning to the material provided in this course. Andrew Ng did an excellent job teaching this. Even so, I heartily recommend watching views from others to get unstuck or to reinforce what you have learned--to make it more concrete. And do all the assignments aiming for 100% on every one.I found myself viewing youtube videos from many experts and found most of them extremely interesting and exciting. By getting several people's perspective, I feel I was able to learn the material better and more easily. Of course, it helps to have a math background, too, and I received my BA in math long ago from Fresno State with an Applied Math option and a Physics minor. It was a joy to return to my old math stomping grounds.If it takes time to get through, that's OK. Sometimes it helps to let the material marinate or let your brain marinate in the material. Then if you're like me, you might come to the place where you start to get on a roll and decide you need to put everything else aside and focus on finishing *this* course to perfection. And it can open the door not only to interesting work but to other interesting and worthwhile certifications.
автор: Tejas R•
May 26, 2020
I found the Machine Learning course has a good structure, excellent teaching instruction and a perfect pace for working professionals. It covers a wide variety of topics/techniques in Supervised and Unsupervised Learning.
Professor NG has an excellent way of teaching any given topic. He covers all the fundamentals or building blocks to a particular topic quite well before putting it all together to demonstrate how a learning algorithm can be built. Each week has some quizzes and programming assignments you need to complete. For someone who is new to this entire topic, I found the quizzes and programming assignments sufficiently challenging. The quizzes test the basics covered in each topic, whereas the programming assignments give a hands on experience in how to write parts of Machine Learning algorithms.
I was also impressed with the course resources. There are numerous resource links available if you are interested in reading more into any topic. And the course forums are quite helpful in case you are stuck on any particular problem. Just going through the forums’ FAQ is bound to help you gain further insights into the course topics.
I am a working professional from whom it is difficult to dedicate sufficient time to enroll in a proper university course. I found the pace of this course well suited for the amount of time I was able to spend in a week.
This course does not cover any one particular topic in too much depth. It is structured to introduce you to a wide range of topics in Machine Learning and can set you up with the proper introduction and background if you wish to pursue any of those topic into further depth.
Overall, this course was very fulfilling and I would highly recommend it to someone who is looking for a course which introduces you to a wide variety of topics in this domain.
автор: Pat L•
Dec 01, 2019
This course is an essential tool. I am beginning on a long journey of machine learning I hope will end at my ultimate goal of securing employment in the field of natural language processing and deep reinforcement learning. Starting completely from scratch, I began this journey by getting text books on the topics and attempting to follow along. Many of the basic learning algorithms, which seemed so daunting at first, were explained to me in a way that allowed me to fully embrace and understand the topics on an intuitive level. This course is the essential entry point to anyone wanting to truly understand the mechanics of machine learning. The mathematical concepts are broken down in a way that is truly intuitive and easy to follow. Additionally, Andrew Ng is a world class instructor. His manner, presentation, and encouragement from, at the time of this review, 8 years ago is evergreen and invaluable. He sincerely believes anyone who puts the time into learning this material can accomplish great things in the world. This course was inspiring. I was so engrossed with the material that I completed all 11 weeks of course work within 5 weeks. My only issue is the use of MATLAB/Octave in this course. All the materials I have read state that these languages and applications are widely not used in the field anymore though at the time of the course development, I understand the inclusion. Perhaps an update to the course that allows for the programming to be done in Python or R would be beneficial, but once you get the hang of MATLAB the programming exercises become easier as the course moves on. My sincerest and most heartfelt recommendation goes to this course for anyone who has an interest in opening the door to their own journey into this field.
автор: Alistair W•
Jan 06, 2019
I worked for a start-up specialising in AI and rules based software that aims to learn how attorneys review contracts to extract key data points (e.g. clauses, parties, names, dates, numbers and text classification). Although I worked in sales / presales and as a domain expert for legal (being an attorney), I always wanted to know more about the technical side of what we were trying to achieve. This course provided my first proper and thorough introduction to machine learning, not only the coding concepts but also the underlying maths. It's been really tough going through the course, but that's down to my rusty maths (I have a maths A-level (i.e. pre-University maths to American readers)) and hadn't practised maths in around 12 years before completing this course. Similarly my coding skills had become rather rusty. All that said, the quality of teaching, forum support and coverage of this course has been great. I've had to read around quite a bit, mostly where certain topics were introduced without first zooming out to explain what the overall algorithm is trying to achieve. However, these issues were easily overcome given the course is well supported on the forums and similar topics are covered elsewhere on the internet given their prevalence today. I thoroughly recommend this course to anyone interested in AI and machine learning. I am looking forward to completing the Deep Learning specialization course as a result of this course, and will also be completing FastAi in tandem to get both a bottom up understanding (as was the case with this course, and will be the case with the deep learning specialization) and a top-down understanding (as will be the case with FastAI). Thanks to the team at Coursera, the forums and Andrew Ng!
автор: Zdenek V•
Aug 26, 2015
My review concerns partially the course and partially the Coursera concept as this was my first on-line course and I cannot distinguish between those two.My experience was simply great, I felt that it was time well spend, for example compares to my company provided trainings and I'm hoping to return to another course.I have quite strong background in statistics so some parts were too basic for me but being able to speed the videos up is neat and it opens the course to wide spectrum of students (again opposed to company provided trainings or even school lessons where in the best case half of the students are bored of the slow tempo and other half isn't able to keep up with the same tempo). To have my own timeplan also helps but I even finished quite early as it was so fun.About the course contend: Andrew Ng prepared great lessons, all was pretty well explained (even when he cannot use some "advanced math" not to lose part of the students). The examples were illustrative as well as realistic (at least seemed realistic and that makes it more exciting than some artificial ones).I was little afraid of the programming exercises as I've never worked with Matlab (using mainly R). But now I'm glad that I know another language:) The system of submitting works perfectly.I can say similar thinks about the contend of the exercises as I wrote about examples in lectures. It is nice to program my own spam filter - the concept of programming only some small parts of the program and not to have to deal with data loading, plotting... is again very entertaining and instructive and then it can be done some nice application in short time.My thanks to the whole Coursera team and of course Andrew Ng. Hope to use this cool tools in my work.
автор: Felix E•
Oct 02, 2017
Absolutely fantastic course! I just wish my old university had classes on that level.
Fantastic tutor as well. I loved how Andrew would sometimes explain the same thing in different ways and spend time to start explaining the problem before offering a solution. I feel like this has been a great approach, especially since you can't directly ask questions in an online course and it would have been really hard to figure out the details on your own if some things are not clear to you.
Best part of the videos are the times that Andrew messed up something and probably thought "ah I'll cut this part out later" but never did. So sometimes you'll hear him stop in the middle of the sentence and just start all over. Fucking hilarious.
My only criticism (or rather, room for improvement): The programming exercises were kind of bland at some point since they didn't really require you to think about what you are doing. Most of the time it felt like I would just try to figure out the Octave language while basically transcribing the formulas in the PDF's into Octave syntax. Maybe offering another language (eg. Python+Numpy) as alternative would help here: Since developers will be more familiar/comfortable with a language such as Python, they can focus more on the actual ML implementation instead of spending about 75% of the time trying to figure out the syntax. Seriously, fuck the Octave syntax. And the IDE is atrocious.
But overall, fantastic course, 10/10, would recommend to everyone interested in ML. This course has basically single-handedly gotten me a job as ML developer since the first four weeks were enough for me to absolutely nail the technical job interview. Thanks Andrew, if I'll ever meet you, I'll buy you a beer!
автор: Ron M•
Nov 06, 2017
This course is a great balance of practical implementation and theoretical underpinnings. Very thoughtfully taught. My only complaint is more of an issue with the Coursera platform. If you run into problems, that in a physical university setting you could review in person with a TA, you can get help via the forums, but for the programming assignments in particular it is a challenge to talk to your peers about your problem, not violate the honor code, and still get to a point where you get your issue resolved so you understand how to complete the assignment. For example, while vectorized solutions are not essential for this class, they are highly encouraged, and in at least one assignment non-vectorized implementations pay a significant performance penalty (hours of run time - possibly to find it did not work properly). Ideally, in a physical college you could review things in person with a TA in a manner that did not violate the honor code, but did also get you to a true level of understanding. The open, public forums are not a substitute for that level of help, and while the "mentors" are good, helpful folks, they are also volunteers with their own lives and also limited by the Coursera platform itself. So that is the ultimate weakness with the Coursera format I am not sure the best solution, and it did not overly penalize me, but I can see people (especially on the Neural Network programming assignment) giving up and not completing the course because they could not get the level of understanding that is needed. I would still recommend Coursera, but hope as implementations are iterated the issue is addressed so that more people can get the help they might need.
автор: Aditya A•
Sep 15, 2017
Andrew Ng's course is certainly a great introduction to Machine Learning for people who are unfamiliar with the topic. I think concepts were explained very clearly without much too much statistical jargon, while also familiarizing people with the concepts, techniques, and terms in ML. I do want to however suggest further improvements that maybe helpful for developing similar courses. I think first it would be better to teach the class in Python. While Python would have more of a learning ramp as opposed to Matlab for those who have never coded before, outside of scientific computing, Python seems to be industry standard and I would have preferred to be introduced to the environment, libraries, and tools in the course. Second area, would reiteration, depth, and practice. While the programming exercises did challenge learners to think, I think I would have gained a bit more for example doing an implementation of an algorithm from scratch and writing code to apply it in many different applications. Also, while mathematical proofs and derivations for formulas were impressively clear, I think it would be great to provide more sections in the course for those who were mathematically inclined to further explore the algorithm's derivation and see how it applies as the algorithm help predict a hypothesis. I think the course was well designed for someone who can't make to much time for the course, hasn't worked with high school and undergraduate college math in a while, and hasn't touch code or just dabbled in it. But it would be great to see a course taught as simply as this one, except with a bit more depth for those it might fit.
автор: Richard D•
Dec 31, 2016
The Machine Learning course taught by Professor Ng is a good way to survey a variety of the commonly used techniques in the field. Though I had been exposed to algorithms like k-means, SVM, PCA, and regression before, it was good to see a unified treatment of all the subjects.
The video lectures are good. In the early weeks I felt a bit overwhelmed by new information, but by the end of the session I was feeling that the lectures were being stretched out. In particular, I started noticing the professor would repeat every point 2 or 3 times. That may be a good style in general, but I found it time-wasting.
The quizzes were good, but a few of the questions here and there were phrased poorly, in an ambiguous manner that made it hard to understand what exactly was being asked. One questioned used vocabulary we hadn't been introduced to. (Sorry, I don't remember in which unit this happened - it wasn't a big deal at the time.)
I enjoyed the programming assignments the most and, quite frankly, lost interest at the end when there were no more to be done. Most of them were challenging - at least if you avoided using the tutorials which really take you through every step. I found the SVM programming assignment thin - we really didn't do anything there except multiply a couple matrices.
I have mixed feelings about the transcripts that accompany the videos. On the one hand, they are very helpful for skipping ahead when one sees a certain idea repeated 3 or 4 times. On the other hand, they are obviously automatically generated and riddled with errors. For a machine learning course, this is particularly ironic.
автор: Kevin N L•
Jun 17, 2020
The lectures and reminder questions and tests and programming exercises were all fine I thought! I enjoyed engaging myself with the course material. I was happy not to have a lot of pressure. I was glad each week was a small enough manageable bite of work so I could get it done in less than a week with lots of time for other things, and still get done without being bumped to another session. I guess the programming exercises were very interesting because there are three or four sets of instructions and notations for each exercise: 1) course lecture notation 2) a PDF of instructions 3) the instructions in the comments inside of the overall exercise test code, e.g. ex7.m in Octave 4) the code itself in the exercise test code. So after I learned to make a print statement in Octave I was able to figure out which way every matrix was pointed, and now I am an expert in fprintf again. The most common example was usually the lecture notes had Theta(transpose)X while in the code I had to do it the other way. I really enjoyed learning how to use graphs to tune the learning machine, and also how to analyze the pipeline to determine which part to learn on. I enjoyed the math in the course, like gradient descent of different types and the fminunc function. It all made a ton of sense to me and I think it can be a useful tool for me in the future if I am not too old or lazy or distracted to use it! My first idea is to use the course techniques to create scrabble word study lists, I guess. Maybe to make a sloppy Valid or Invalid Word discriminator so I'll have a way to create phony vocabulary words or neologisms.
автор: Parantap S•
Feb 27, 2019
There is always a trade off between various factors while designing any course, a lot of this has to do with the expected outcomes of a course and the intended audience for example. It takes a lot of thought, experience and a passion for communication and teaching to arrive at such a balance. This is one such course where I'd like to say that an almost perfect balance has been achieved, my sincere gratitude to Professor Ng and his team for putting all this together. I might have liked some more details about optimization algorithms and maximum likelihood estimation, but I realize that this is something specific to me and may not be shared by others who are taking this course for a variety of reasons. However, I do not mean this as a criticism, instead because I am so impressed by what Prof. Ng and his team have achieved, and since I also have a technical background together with a desire to communicate complex ideas, that at some point, if possible, I'd like to try and create and add this additional material. The reason for saying 'at some point in time' instead of' immediately', is that I now intend to go through some more courses on Coursera (I think I might be addicted now). While I have a technical background, it is not in computer science and I did not have a lot of programming experience prior to this course, yet this course has managed to give me a fairly clear and solid foundation in supervised and unsupervised learning together with some operational intuition on structuring machine learning projects. Once again, sincere gratitude to Professor Ng and his team for making this course, Thank you.
автор: Bruno s•
Oct 10, 2016
The course developed by Andrew Ng is quite interesting, going to the essentials in order student get the big picture and the essential tools for building the backbone of future ML applications. Of course, being confident with mathematics principles and notations will be helpful but most of the time, it's not an issue if you have the minimal knowledge. What it lacks on Coursera is the next stage of this course where we could investigate further the technologies presented but in more technical way. Maybe we might see that in the future...
Regarding course supports (videos, forums ...), they are of good quality and the fact Andrew used them by drawing on slides helps to have a better understanding. We could notice that there are few minor errors (eg: a "j" index which becomes "i" in J(theta) writing) and I think the technical slides on Back propagation could be improved if a dedicated slide to used mathematical notations / definitions. Sometimes, there are some errors which could induce some confusions. But these minors errors don't hide the impressive work done by Andrew.
Regarding assessments, quizzes could be tricky if you don't got the "spirit" (not an exam habit in France) and coding exercises are well structured in order the student will focus on the core modules of the lesson and not on information flow. These exercises are inspiring if you're interesting in teaching and inspiring for Data Scientist Apprentices if you investigate the utils functions developed to support the exercise.
Many thanks for this great course and I hope my two cents will help other people to attend it