Learning Machine Learning

Ajit Desai
5 min readJan 2, 2023
The essential ingredient for learning machine learning are illustrated using a bulb in the center and text ballons all around.
Base image in downloaded from pixabay and modified by the author.

In this article, I share my experience of learning machine learning (ML), which I consolidate into three steps outlined below. I will also share some resources which I found useful in my journey toward learning ML. Keep in mind that there are many other ways and various other resources you can use to carve your unique path in learning and using AI/ML/DS.

1. Strengthening base in mathematics and coding

In my opinion, this step is fundamental to being successful in learning and using machine learning (ML). From the mathematics side, one needs to strengthen knowledge in 1. linear algebra, 2. statistics and 3. calculus. Similarly, from the coding side: one needs to acquire mastery in at least one of the coding language, such as: 1. Python, 2. C++, 3. R, or others.

Having an educational background in computational science and engineering, I was fortunate to have a head start in building these skill sets. However, based on my understanding, one can build or strengthen these skills using the resources, such as books and online courses, listed in the section on the recommended resources for step 1 below.

2. Building domain knowledge and understanding data

I think this is an essential step before using ML algorithms for your application — -which is the simplest step in this whole learning process. In this second step, one needs to work with domain experts to understand the data-generating process and spend time exploring and deepening understanding of the raw data. Doing this will help you carefully choose ML approaches and algorithms when solving your problem.

In my case, in collaboration with domain experts, I first started building a simulator which means replicating the whole data-generating process. To do so, I had to read and understand the essence of the data and how it is being generated and used. This allowed me to explore all features of the raw data, its kinks and the opportunities it presents. I also read many scientific and technical articles about similar data and how it is being used elsewhere. In this step, one needs to find his own way to build expertise in their domain and the data; however, one can use the following resources listed in the section on the recommended resources for step 2 below.

Essential steps for building domain knowledge & data understanding are illustrated using binary digits in a semicircular fashion. Domain knowledge, data understanding, building machine learning models
Domain knowledge makes it easy to understand the data, build accurate models, and explain it to others.

3. Learning through applications

After strengthening fundamentals in mathematics, learning to code, building domain knowledge and understanding data, it will be much easier to start using ML. However, my recommendation for this step is to learn by working on test cases as well as practical applications in your field of work. In this step, you can read books, scientific articles, and blogs on using ML for similar applications. Also, online courses and tutorials specialized for understanding applied ML approaches and algorithms are very useful.

In my case, I started learning ML approaches such as supervised, unsupervised and reinforcement learning; and related algorithms using books and online courses. Along with the course assignments, I also explored practical tutorials on similar topics with similar datasets. In parallel, I also started using these ML approaches for the dataset I was working on, to solve actual problems with business goals and measurable outcomes. In this step, one can follow a similar path using the resources listed in the section on the recommended resources for step 3 below.

ChatGPT model is illustrated using colourful waves suggesting waves of words flowing in and meaningful sentences coming out of the model. Ask ChatGPT, AI, Neural network, NLP model
Artificial neural network based powerfull language model developed by OpenAI

Finally, when I asked OpenAI’s ChatGPT about how to learn machine learning, one piece of advice, among others which I found especially interesting and relevant to step 3 of this article, is the following: “No matter what your background, it is important to practice and get experience applying machine learning techniques. One way to do this is to participate in online machine learning competitions, such as those hosted on Kaggle. This will not only help you learn new techniques, but also give you a chance to see how your models compare to those built by other people.”

Below, I share some of the resources, such as books, blogs, tutorials, online courses, etc., that I found useful in my learning process. Note that AI/ML/DS is a rapidly evolving area, and some of these resources might be obsolete.

> Recommended resources for step 1

  • Book: Linear algebra and learning from data by Gilbert Strong (link)
  • Book: The elements of statistical learning by Hastie, Tibshirani and Friedman (link)
  • Online course: Mathematics for machine learning by ICL (link)
  • Book: Hands-on ML with Scikit and TensorFlow by Aurélien Géron (link)
  • Book: Mathematics for machine learning by Deisenroth, Faisal and Soon Ong (link),
  • Online course: TensorFlow developer professional course (link),
  • Online course: Applied data science with python by University of Michigan (link)

-> Recommended resources for step 2

  • Book: Storytelling with data by Cole Knaflic (link)
  • Blog: Open AI’s Spinning Up as a Deep RL Researcher (link)
  • Online course: Learning How to Learn by DLS (link)
  • Repository: Scientific articles in your field of research or application (link)
  • Repository: Blogs on Towards data science (link) and Machine learning mastery (link)

-> Recommended resources for step 3

  • Online course: Machine learning specialization by Stanford and DeepLearnig.AI (link)
  • Online course: Deep learning specialization by DeepLearning.AI (link)
  • Online course: Reinforcement learning specialization by University of Alberta (link)
  • Book: Reinforcement learning by Sutton and Barto (link)
  • Book: Deep learning by Goodfellow, Bengio and Courville (link)
  • AI conference: NeurIPS — Conference on Neural Information Processing Systems (link)
  • AI conference: ICML — International conference on machine learning (link)

Finally, like me, if you are also interested in writing scientific or technical articles about your projects, then make sure to do this excellent online course on writing in science offered by Stanford. As the name suggests, this course is not specifically designed for writing in AL/ML/DS but for general writing in sciences.

Writing in the Sciences (link) Offered by Stanford University. This course teaches scientists to become more effective writers, using practical examples and exercises.

--

--

Ajit Desai

ajitdesai.com, Principal Data Scientist at BoC. Payments, AI, ML, and Quantum Researcher. Opinions in my articles are my own and not the views of my employer.