programming pointers

Tips to learn Machine Learning

In this COVID-19 lockdown time, I am sure many of us want to learn new things. In technology stack Machine Learning is the most sought field. As we all know there is no dearth of tutorials/courses on the internet. I think the wisdom lies in choosing one which suits your own learning methodology and also from an authentic source and teacher.

In this post, I will suggest you a few approaches and resources which I have used in learning ML over the years.

Bottom-up-Approach

Coursera-Stanford Machine Learning

This course taught by one of the best minds in AI/ML community andrew NG apart from great researcher and entrepreneur Andrew is a great teacher as well. In this course, he starts with mathematical concepts behind the concepts and finally implementation and coding part which is less focused. I took this course in 2016, actually, I have registered for this course when it was first started way back in Oct 2011 (check my blog post) but unable to complete and after that, I tried to resume multiple times but couldn’t complete due to time constraint but when I started my Data Science Specialization in Feb 2016, that time finally I was able to complete this course as well, See Slides, Earned Certificate after long wait :-). The course uses a rather unconventional scientific programming language Octave. This is a Powerful mathematics-oriented syntax with built-in plotting and visualization tools. It’s a bit like MatLab which I have used in college.

Deep Learning Specialization

This is again taught by Andrew also follows the bottom-up approach. I have completed this course in 2018 Certificate. Notes. See below some of the posts I have written from that specialization.

Top-Down Approach

fast.ai Course

This course is taught by Jeremy Howard. Unlike the bottom-up approach in which first the theory and maths behind a particular concept is explained, top-down approach generally starts with code snippets and some sort of project and then some theory. Geremy’s excellent fast.ai course follows this approach. It uses Python as a programming language but I heard Geremy mentioned Swift lang in the new version. The whole fast.ai course is in two parts. Second part is more advanced. So start with Part 1 for coders course. One of the best thing of fast ai course is that you can see and build things from day 1 without going into nitty-gritty details. It uses modern libs like fastai lib, PyTorch etc. fast.ai course mainly focuses on Deep Learning area of Machine Learning.

I took first part last year and found it very enriching. It actually complements the Andrew machine learning course in the coding part.

I have written couple of post from this course. see below:

Now, One of the basic questions might come that in which sequence these two courses should be taken, my advice would be that if you are a hands-on coder and you can start with fast.ai course but should checkout Andrew’s course for concepts and Maths. Apart from taking these 2 courses, I would also suggest listening to Data Science Podcasts. One of the tips is to just listen to these podcasts not anything else idea is to keep your mind always thinking about ML nothing else, that way you can learn faster and make a deep understanding of concepts.

You can also checkout Kaggle for real-world problems but I would suggest to hold a bit and do not participate in competitions till the time you are majorly done with the courses.

Finally, if you have some more time, start your ML learning journey by visiting excellent course on Linear Algebra by Professor Gilbert Strang at MIT. Free class videos and other resource are avaliable. Check here.

Wishing you very good learning.

Cheers!

 

 

Copyright © 2007-2020 PRADEEP K. PANT

Made with Jekyll | Source Code | RSS