Thank you very much for the excellent lectures. I am just wondering about the back propagation algorithm. When we calculate the errors backward, why do we use matrices theta instead of their inverses.
It is the best online course for any person wanna learn machine learning. Andrew sir teaches very well. His pace is very good. The insights which you will get in this course turns out to be wonderful.
par Andrea A•
you have to teach this course with Python otherwise Octave is purely a waste of time. You need to keep up with time. Nobody in the financial industry uses Octave. Also, you need to show way more examples and exercises to allow students to absorb theoretical concepts.
par Ivan Č•
Certificate is expensive!
par Mim A•
Like a bad math teacher, this instructor can make you hate ML forever!
The instructor just starts typing formulas without even bothering to describe what is what and what he is doing!! even if you are already an ML expert (not calling myself one, but I have experience in this field), you would have difficulty figuring out what he is doing. he sometimes mentions what is what in a formula he wrote weeks ago!
Essentially you have to go back and forth between his notes and videos trying to decipher just what he's saying..
I have tried to go through this course twice, finished week 3, and did not think if I learned anything significant, I was thinking of forcing myself through it and get the certificate, but then asked myself, is this the best way to learn ML (if at all) or am I essentially wasting my time ( and worst, making myself hate ML ), and decided to drop the course immediately and pick a better one! one that makes sense to me..
I suggest you do the same, try this course, maybe it was just me, but if not, don't let it change your perspective of learning ML!
I'm glad I didn't pay for this one. The answers in the quizzes are not correct. I checked them. Also, they don't tell you until week 2 that you will not be able to use any strings in your files in Matlab and Octave, everything has to be a number. I'm not sure this is useful to anyone. Bec the answers are wrong in the tests you won't be able to pass any of the quizzes, I got 60% on them. I retook each of them 6 times. I even checked the answers on Octave. Whoever wrote the quizzes did a poor job. I also did not understand any of the homework labs. I tried doing them and there were no instructions and the scripts did not work. Unfortunately, I can't recommend this class. It looks like the person who did the videos spent a long time on them, but whoever wrote the quizzes and homework did not check anything. Really sad. They could have made some money off of this one. Just sloppy.
par Tibet M•
I was quite disappointed in this class where the exercises are too onerous and out of date. For example, Convolutional Neural Networks are not covered. Also, a lot of the material is dated from 6 years ago. There was also no help when I wanted to ask a question. When I asked where a certain material will be covered I did not get any response either. The last 1-2 sections were also wrong as I know that is not what is done in the industry. You will be disappointed if you take this course after a lot of work.
par Marcelo O•
i got stuck in one quiz i thought that maybe it was just me, i tried it a second time and got it wrong again.
I tried this quizz like 7 times and all of them were wrong so i took a photo with the sniping tool to check my good answers and then i tried inserting them but i just failed so this course or the program for grading doesnt work
par Germain M P•
Poor audio and video quality, what compromises the learning process
par Harry E•
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!
par Irfan S•
Extraordinary course for beginners (as well as for people with experience)!
If you are a beginner (as was I before taking this course), then this course is the perfect way to start learning Machine Learning. Even if you have some experience with ML, it'd be useful to learn about the recommended practices for choosing the right approach for a problem or something like debugging an algorithm.
Dr. Ng presents a huge amount of information in a structured manner, bundled with questions within videos that keep you focused. The quizzes and programming assignments complement the lecture videos. The programming assignments are in Octave. This is not necessarily a negative point (as other reviews are saying). If you are familiar with Python (or C/C++/Java etc), then it won't take you more than a few days at maximum to grasp the syntax of Octave. There is a lot of helper code in the programming assignments, so you mostly focus on the actual implementation of algorithms and such. Dealing with vectors and matrices in Octave has been a relatively better experience for me as compared to in Python. If you're stuck with programming exercises, then there are elaborate tutorials in the Resources section.
Possibly what I loved the most about this course is how Dr. Ng always mentions the recommended way of doing things (and how things are done in the industry). He also teaches you real life examples of how ML is currently being used by companies (for e.g. the course weeks on Recommender systems, Photo OCR, etc). So, if you're trying to learn ML for job prospects, this will be of great help.
Even though there's a fair bit of math (Linear algebra and some Statistics), Dr. Ng will help you walk through it and make you understand what you need to know.
Overall, this course has been a great help for a beginner like me. I recommend this to anyone who is looking for a course to start learning ML.
To Dr. Ng, the mentors of this course, and all the people who made this course possible, I want to thank you from the bottom of my heart. It's not easy creating so many hours of content (lecture videos, quizzes, assignments) and providing it online to thousands of people. I'm grateful for all your efforts.
par Kevin M•
This is a terrific class! The Course is well structured in terms of videos, invideo pop-up quizzes, course notes, programming exercises, and the discussion boards & mentor community. The 11 weeks includes 8 programming exercises, with usually 5-6 "code submittals" per exercise.
The option of OCTAVE or MATLAB is great (I used MATLAB). A key aspect of this course is using vectorized methods in every programming assignment. There was always an option to write a procedure approach (e.g. do loop for summation steps like sum of squared differences for gradient descent or linear regression). The computational advantage, the simplicity of using vectors, and ending with "crisp" code is a great step
I have completed a similar class from MIT (Python or R based) and the exercises in this class were far superior in reinforcing the course materials.
This journey takes you through Supervised Learning models leveraging Linear Regression, Logistic Regression, Neural Networks, and Single Vector Machines and how gradient descent is the cornerstone to determine the theta values needed to optimize your hypothesis. Unsupervised Learning using K-means, PCA, and Anomaly Detection. Specific real life example for Recommender Systems, Character Recognition and large scale machine learning.
The various topics on "advice" by Professor Andrew Ng is invaluable. Understanding how to measure performance of your algorithm is key. Underfitting (bias) and over fitting (variance), regularization, learning curves, evaluation (precision, recall, and F1), and error analysis. Of particular note, is his understanding how to objectively determine how to what to work on next and how to apply "ceiling analysis" in complex pipeline ML applications.
A final note, the course mentors are unbelievable! Tom Mosher and Neil Osgrove are truly special. Their understanding of the material, their patience, and their incredible responsiveness is highly beneficial to the learning experience. You have to do the work and figure it out, but the mentors are there to help you navigate the Machine Learning journey!
par Michael B•
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.)
par Boquan Y•
Really a great course. It covered a large variety of currently popular machine learning algorithms, along with strategies to do machine learning projects. Professor Andrew really goes deep into how to optimize a machine learning model to reduce bias and improve performance with a lot of techniques, not just simply implement a fancy machine learning algorithm. At first, I complained about programming assignments because it is done in Matlab, but after I went through some of them I really discovered that Matlab is a powerful tool used for a broad range of purposes. The course goes beyond just model.fit(x,y) and model.predict(x,y), because you'll learn the essence and mathematical proof of each ML algorithm to really comprehend how each algorithm work and how optimization work. You can still learn to build ML models in python even by yourself after this course.
However, there are still some problems I want to mention. First, for some algorithm in the second half of the class (e.g. SVM with Gaussian kernel, anomaly detection), professor Andrew didn't sufficiently mention how math works, just giving the conclusion of how we should implement. I understand that maybe it is because the mathematic proof is too complicate here or it is not necessary to know the mathematic for mastering this type of algorithm. But I still hope that I can have a deeper understanding of every model based on mathematics. Another thing is that programming assignments didn't teach us how to plot graphs. Our work is only limited to "backend" implementation, which is the completion of the algorithm using a mathematical approach. I still hope Professor can introduce how to plot different kinds of graphs to really integrate our knowledge on "backend" to "frontend" for further data analysis.
Again, this is a great course, and anyone who completes this course will gain a lot of insights on ML and will have a solid understanding for future ML studying. Thank you, Professor Andrew!
par Anuradha R•
I knew nothing about Machine learning when I started this course. I am going to start a job where I have to verify hardware for machine learning and I wanted to understand the vocabulary of machine learning better before beginning this new job. I got that from this course and a lot more! I liked the balance of mathematics, modeling and hardware aspects of this course. A key aspect of this course that elevates it is how Andrew always emphasizes evaluating the model / algorithm with real number outputs and not just plug ahead at full speed.
Thank you Andrew for putting this course together and making it accessible to all. I know how difficult it is to take a complicated topic that you are very conversant with and explain it in a way that a person not very familiar with the field understands it. And Andrew nailed this aspect.
This was also the very first course I have taken on Coursera. I am now inspired to try many more courses. Using Coursera to learn new concepts from home, without the pressure of time, money and grading is an incredibly liberating idea for me.
Overall, my experience with this Course and Coursera for me has been a 12/10.
par John H•
This have been a very good and comprehensive introduction to Machine Learning, IMHO. It have given me the all basic introduction to ML that I could have hoped for. (I'm a senior practitioner of many forms of mathematical modelling and programming, as a former Astrophysics Phd.)
In particular, Andrew Ng is an excellent and experienced lecturer, and it's something that shows in that the course have been tested on thousands of students and over long time, such that for example exercises work very well in every little detail. (Sometimes quizzes may seem a little picky having to get nearly every little question right - but it's for really getting the understanding solid, and you can always improve your grade.)
Therefore, this must be a very good choice as an ML introduction, provided that you're willing to put in the effort of a few weeks on full time. (Albeit 11 weeks is for 'normal' university study schedule, and the course can be completed much faster on full time.) It should also compare well in generality compared to other courses (like Googles Machine Learning Crash Course).
par Mark M•
Professor Ng is a great teacher, his course is both challenging and satisfying. The exercises require you to take one step beyond the lecture -- not just parrot back the transcript -- you have to think about the implications of what you've just studied. Yet Ng's presentations are lucid and informative and that next step is obvious, once you think about it.
My greatest challenge is that, although I have been programming for decades, I've only dabbled in a functional language like Octave and my last math class dates back to the 70s. However, the math requirements are not onerous and I'm struggling through the Octave assignments with some success.
Although the course is 11 weeks there are more than 16 lectures as some weeks have two complete sets of lectures PLUS there are assignments every week that take a few hours to complete. So while there is a little more work in this course than in other Coursera offerings there is great value for the money and time spent.
If you're interested in Machine Learning this course is a great place to start.
par Tanmoy S•
No matter how much I appreciate this course it's never enough.
As an absolute beginner in ML, I never found a course / source that would explain why and how things work the way they work until I stumbled upon this one through recommendation.
Given most of the courses are in Python / R they fail to explain in - depth workings of the algorithms as everything is readymade there but this one nailed it!
The assignments are seriously wonderful and gives an excellent real - world view on where and how a particular technique works.
So, if you are hesitating because of the course being done in MATLAB / Octave, I would say that go for this course, first learn the workings and then you'll be able to implement them in Python in no time :)
Again, a massive amount of respect and thanks to Andrew Ng and everyone involved in the making of this course along with the superb community.
Final word: You'll love this one if you're a beginner and want to get a kickstart in ML. Thank you & have a great day :)
par Yintao L•
This course is an intro-level course for Machine Learning which mainly focus on the implementation of those algorithms. It doesn't mention much math behind which makes it suitable for people even have no previous knowledge in related area. But make sure you have at least basic knowledge about linear algebra and calculus. You won't need those for the exercises but would help you better understand the course.
The exercises are really helpful for students to understand the material. If you want to learn more, I deeply suggest you not only finish the required exercises but also the extra exercises for each week.
Besides that, Professor Andrew's explanation and illustration is really clear and easy to understand. Even though this course has been online for many years, it contains the knowledge that still practical nowadays.
Overall, Five star course and I strongly encourage people with little or no background knowledge but aiming to learn about machine learning start with this course.
par Ozgur U•
This is the first course I ever took on Machine Learning. I have a good background in linear algebra. Therefore, Mathematical aspects of the course was not a big challenge for me. At the same time, Professor Ng explains the ideas behind each ML algorithm in an easily comprehensible manner. It is easy to follow his videos except the sound quality. I would strongly recommend that they improve sound quality.
The quizzes are not very challenging and easily doable if you understand the lectures.
The assignments are easier than I expected. The whole structure of the algorithm is given to you and some parts of the assignments simply require writing one or two lines of codes. I would recommend them adding a capstone project at the end of the lectures so we can apply what we learned.
Overall, if you are looking for a fundamental introduction to ML and posses a basic knowledge in college level linear algebra, I would strongly recommend this course to you.
par Vikrant K 4 B C S & E I V•
It's so wonderful that it can't be explained by the words and at the same time i am very sad that Ng sir has left us . i just love Ng sir , He is so wonderful person and teacher that can't be explained by the words .It's quite bit a big dream but i am dreaming of some day in the future where i am working with Ng sir on some machine learning problem and he is guiding me as he is doing now . I just love the course and also the mentors Mr. Neil Ostrove and Mr. Tom he had helped us to complete this course and assignment and also solved my useless something baby problems more carefully and i will help other student as guided by Ng sir in completing this course smoothely . and that's all . at the last i want to tell I just fall in love with Ng sir and coursera and the team . i have a big dream of meeting that my favourite Ng sir on some day.
par Luca W•
Thank you Professor Ng for taking the time to produce such a phenomenal course. As mystifying as machine learning can appear to be, your well-paced and digestible teaching style gave me the opportunity to understand. With fantastic lectures, mid-video quizzes, end of topic quizzes, and programming assignments, you as a student are given all the resources you need to absorb the material.
These eleven weeks really gave me the perspective and knowledge I sought for. This is the first online course that I have taken and I am inspired and excited for the future of machine learning and e-learning. The final heartfelt video was a perfect conclusion and I wish to return the sentiment of gratitude and appreciation.
Thank you again, and rest assured that your teaching is having a profound impact on peoples lives across the world.
par Toby T•
I've tried DataCamp and recently take my first course in Coursera. The difference is huge and important if anyone wish to learn more about ML or DS. This course does not focus much on 'just coding' the answer. It aims to teach you the logic, basic maths behind ML algorithms.
The coding exercise is challenging and fun aswell. It doesn't give you any 'fill in the blanks', so basically, after each exercise, you properly have some good understanding about the logic. Using Matlab/Octive is much better than I expect. Not that it is easy to use/understand, but it let you understand the Math better. e.g. when to transpose, how to use look at dimension before writing any codes. These exercises are at a level which you can easily transcend your understanding and knowledge to whatever Python or R you are using. !
par Lubin Q•
As a non-CS student, I really have learned a lot from this course, which does not only cover several typical algorithms, but also a lot of important concepts in ML. It can be told from all these lecture videos that Prof. Ng has put a great effort in this course - he is not just reading the pre-prepared materials; instead he has sincerely shared a lot of his experiences in industry and pointed out the typical pitfalls that a lot of ML engineers have fallen in. This really inspires me and lets me develop a lot of awareness to avoid similar mistakes in the future.
Although this course is not the end of ML study, it is an excellent course as an introduction of ML for beginners to start with. Thanks Prof. Ng and your mentor team for all your efforts.
par Christian D•
Excellent introduction class to ML! Prof Ng provides clear explanations always and makes Machine Learning simple. I have learned to go with the flow of the videos, not worrying when I was not understanding some parts knowing that a clear explanation would be provided in the following minutes. Although this course is not interactive, Prof. Ng communicates well with his passion, and always "responds" to my questions in the videos. The quiz and exercises are very well thought of, really testing that we learn the essential and got a good feeling for the concepts.
Thanks to Prof. Ng for this excellent class.
(note: I would be interested in a follow-up class on Machine Learning, is there another class from Prof Ng avaialble soon on Coursera?)
par RENZZO S•
Excellent course for a depp introduction to machine learning. The professor Andrew NG has a special way to explain complicated themes in a very simple and understandable way. In the main videos of this course is more intuition than deep math and statistical demonstrations, but if you eager to understand issues more deeply like me you will find in the "resources" area of the course links to the documentation and the lecture videos of the machine learning course given in Stanford, there you could find the math and statistical demonstrations, also a bunch more algorithms to learn. Also you will find links to refresh your calculus, linear algebra and statistical skills if needed and links to data repositories to practice your new skills.
par Arpit J S•
Mr. Andrew Ng has mastery on Machine Learning. His method of teching is precise and lucid, often engaging us to think more on untouched aspects of ML. This was my first course and first step (a baby step) on any platform to understand and learn ML . Lucky to have enrolled for this amazing course and I sincerely thank him for being instructor on this subject and also tons of thanks to mentors who clear doubts in discussion forums. It helped a lot. Lastly , I think this course has clearly set my path towards advanced studies in ML. Although, statistics and some of the terms did bounce off my head few times, I hope to revisit and work on them more in future. Thankyou Andrew Ng Sir ! I am your fan now !!! :)