Navigating through the learning resources for machine learning

Mahammad Valiyev
4 min readJan 18, 2021

--

When you are new (even if you have some experience) to machine learning, I think, it is very hard to navigate through the learning resources in the machine learning space. This is because there are tons of online courses, videos, books, blog posts, papers on the topic. As someone who struggled with this issue, (and still continues to struggle) I thought it will be useful to write a blog post on this topic, with the aim to soften this struggle to some extent.

Basically, reaching some decent level in machine learning space requires mastery of 4 separate components:

  1. Mathematics — although some research areas may require more advanced and arcane math topics, most machine learning theory requires an understanding of linear algebra, probability & statistics, calculus, and knowledge of some optimization techniques. Probably, this would be more than enough for most of the positions in the industry, excluding R&D roles.
  2. Programming — this may vary depending on the position of interest. However, for getting started it is enough to just take 1 introductory programming course and learn topics like conditionals, loops and basic data structures.
  3. Machine Learning theory — this involves understanding the working principle behind machine learning algorithms.
  4. Data Science and Machine learning libraries — these days instead of implementing machine learning algorithms, data preprocessing and visualization techniques from scratch, people mostly use pre-built libraries that significantly simplify the process. Therefore, one has to learn to use a range of libraries in either python or R for easy and fast prototyping and implementation.

This was a very brief and informal categorization of knowledge required for machine learning, hopefully, it will help you to build some big picture view. Although in theory, we can categorize the learning process, as I did above, in practice, usually the learning process is iterative and a lot of times, one mixes up those components while working on some problem.

Having briefly touched upon building components of machine learning and hopefully forming some big picture view, we can pass to the question of picking the right resources for learning.

Obviously, people have different learning objectives, different background knowledge, learning styles, available time, etc. Considering this issue, coming up with the single, one fit for all learning plan is a quite challenging task. However, in my view, one of the most effective strategies for diving into machine learning would be to take a not detailed, less mathy survey course that will intersect most of the building blocks of machine learning mentioned above, and will contain practical exercises. This way one would get a glimpse of the overall process and can judge whether it is worth digging deeper into learning. After having some further interest, one can dive deeper into one of the 4 components mentioned above or can pick some relatively easy machine learning problem/project and work on it while interacting with all 4 components.

When I was starting my journey in learning machine learning, I read many blog posts on course recommendations and course reviews on websites such as classcentral.com, quora.com and browsed many random blog posts and websites that I came across while googling. Although I think this time was very well spent and I can recommend doing it for beginners, to save you some time, I want to suggest two of the best, relatively introductory courses. I found these courses very useful and those were amongst the most popular ones on the web, based on reviews and recommendations.

  1. Machine Learning course by Andrew Ng on Coursera.
credit to coursera.org for the photo

This is a classic course for beginners and a lot of people started their journey in machine learning by completing this course. It covers all aspects of the machine learning workflow and 3 of the components mentioned above (math, programming and machine learning theory). In this course, Andrew Ng explains the working principle behind supervised, unsupervised, and some special machine learning techniques, as well as providing some advice on evaluating the performance of machine learning algorithms, debugging them, and building machine learning systems. There are also, 8 practical assignments that mostly involve coding algorithms from scratch on Matlab/Octave environment. The course is used to be paid, but, fortunately, it can now be accessed for free. Click to access the course.

2. Statistical Learning by Trevor Hastie and Rober Tibshirani on edx.

credit to springer.com for the photo

This course is mostly based on the Introduction to statistical learning book (top-rated book on machine learning on amazon and some other platforms), coauthored by course instructors. This course and accompanying book cover 3 components of machine learning, mentioned above (programming in R, machine learning theory and data science, machine learning libraries in R). In contrast to Andrew Ng, who is a computer scientist, the authors of this course and book are statisticians. Therefore, although there is some overlap of topics with Andrew’s course, this course provides a slightly different approach in the explanation of algorithms and coverage of topics. The course and book are introductory, without heavy reliance on math, and contain both conceptual and practical exercises (in R). I would highly advise reading the book and taking this course in parallel. Click to access the course and the book.

Wish you happy learning :)

Published By

Originally published at https://www.linkedin.com.

--

--