DEV Community

Cover image for I Finish the Andrew Ng Machine Learning course - My thought
Ramiro - Ramgen
Ramiro - Ramgen

Posted on • Originally published at

I Finish the Andrew Ng Machine Learning course - My thought

A couple of weeks ago I finish the Standford Machine learning course and i have a some thoughts to share about the course.

My First Thoughts

So first of all, I really enjoyed the course and in my opinion, is a really good base for any Machine Learning practitioner, I felt that the course is low-level sort of speak, it focuses a lot on math and how things work under the hood witch its great if you want that and you are prepared, in my experience I already had University level Calculus and Linear Algebra and I didn't have much trouble with the formulas and concepts, that being said I think if you don't have that level it's nothing to worry about the course does focus on the math but it doesn't focus on it that much when grading so you'll be fine, but I'll encourage you to look at some linear algebra to understand the formulas better.

I think the course it's a great starting point for Machine Learning and Data Science in general, and I think it's a great thing it doesn't focus too much on deep learning (that's why there is another course called witch it's on my list), the course touches supervised learning, unsupervised learning, clustering techniques, and good practices to get good results.

Perhaps today we focus too much on the Deep learning part of Machine Learning and not on the other techniques that in some scenarios are at par with the DL techniques, also it arms you with a good repertoire to tackle problems in the Data Science world.

Programming assignments

Now let's talk a little about the labs because it's a big part of the course, I had my fair share of rage and hair-pulling moments writing in Octave but I enjoy them once I solve the problems, coming from a high level and OOP languages Octave it's a little different, but you get used to it when you realized that it's closer to maths than it is too OOP programming.
One of the things that help me get through the programming assignments it's thinking in maths and linear algebra instead of programming, and one tip that I can give is to start writing in vectors as soon as possible, this is not only going to make your code really fast by avoiding for loops and such, but you can translate nearly identically math formulas into code.

Another tip is I didn't realize until the last weeks of the course that there is a tutorial section for the labs, and I'm here spending 3 hours debugging a vector implementation. Check out my drawings trying to implement Backpropagation, I think I spent a week trying to make this work xD


Don't read too much into the notes because I think they are not complete, but I strongly recommend you do something similar it helped me a lot to understand this also if you get stuck check the tutorials section, but try it first yourself and check the things you were doing wrong, so you improve.
Also if you might find this helpful an image that I did of gradient descent:

Alt Text

Final thoughts

So my final thoughts on the course are, that you should absolutely check it out if you can, the course says 11 weeks but you can go through in like 3-4 weeks if you are not doing anything else, you will have a solid base of topics outside of Deep learning and good Data science practices and methods to come up with good programs and systems.

One thing that always make me chuckle is that whenever he said "the one of you that you are an expert on linear algebra will recognize" or something like that, I'm not an expert at all but it made me feel good when I recognize things and he said that, it's just a silly thing xD

If you are stuck with some concept in the course feel free to reach out I might be able to help you out @ramgendeploy , (not programming tho, that's not allowed check out the tutorials section in the forums 😊)

Discussion (0)