How to learn ML for humans & ๐Ÿ‘ฝ

Featured on Hashnode

Learning path for AI/ML that worked for me โœจ

Programming Knowledge

Programming knowledge is a must obviously.

Learn Python ๐Ÿ

  1. Python basics : variables, conditions, loops..etc..etc..etc
  2. Also most importantly installing packages, importing, using.
  3. Writing methods and using decorators.
  4. Object oriented python: class, inheritance.

๐Ÿ’ก The book automate the boring stuff is a good resource.

๐Ÿ”ฎ Articles and Youtube videos by Sentdex is awesome!

Install and setup stuffs ๐Ÿšง

Things you need and need not.

  1. A ๐Ÿ’ป running any OS โœ…
  2. A high end GPU โŒ
  3. Python installed directly or using anaconda/miniconda โœ…
  4. A heavy IDE like pycharm or spyder โ—๏ธ
  5. Use light weight IDEs like VScode โœ…

๐Ÿ’ก Make sure you integrated installed python with your IDE and intellisense works fine.

๐ŸŒ For god sake don't use notepad to code!

Do the following to take python learning to the next level

  1. Build a python project and opensource.
  2. Learn building a backend web app using flask/django/responder

ML algorithms and its Mathematics ๐Ÿ”ข

Truth about the maths

You need basic knowledge in the following mathematics areas for ML

  1. Algebra
  2. Probability
  3. Differentiation

๐Ÿ’ก Use your school/college text books to brush up maths skills.

Learning algorithms

Use various resources in the internet to understand the concepts of following machine learning algorithms

  1. Linear regression
  2. Logistic regression.
  3. Kmeans and KNN.
  4. Neural networks.
  5. Deep neural networks.

And the lists goes on...

๐Ÿ’ก Check out this awesome machine learning tutorials repo.

๐Ÿ”ฎ Checkout d2l for learning algorithm implementation

Pro tip : Learn the maths on the go. Means check out the maths part when you get stuck instead of going through maths first.

Implementing the algorithms ๐Ÿ‘ฉโ€๐Ÿ’ป

This is an important part. Learning how to implement ML algorithms ๐Ÿ’ฅ

  • Try to implement the ML algorithms with vanilla python and the following libraries.

Packages to use

  1. Numpy : For nuemerical computations
  2. Pandas : For data preproessing
  3. Matplotlib : For plotting the data

ML libraries and doing projects

Now you can learn an ML library and start doing projects in ML.

Various ML libraries

  1. Sklearn : ML library with classic machine learning algorithms
  2. Tensorflow & keras : DL libary with keras as high level API
  3. Pytorch : DL library built built focusing for research.

and the list goes on...

๐Ÿ’ก You can start with any of the libraries. I would recommend to use offical docs and tutorials to learn!

Steps for doing ML project โญ

Do an ML project to evaluate and show off your learning. Following are some of the steps in doing ML projects.

1. Find out a problem you can solve using ML.

alt text

2. Figure out the logic + ML pipeline you can build for solving the problem.

alt text

3. Search the internet for the dataset you need.

A lot of publicly available datasets can be found in the internet. Two popular sources are,

4. Cry out loud when you don't find the dataset for your specific problem.

alt text

5. Collect dataset using crowd source or other means

alt text

  • Build an app for collecting dataset and share with friends
  • Use google form for collecting data
  • Scrap the dataset from various websites (be careful about copyright)
  • Connect with authorities having data like govt to collaborate.

6. Train. Evaluate. Tune. Repeat.

  • Use pretrained models or build ML models.
  • Preprocess the dataset collected.
  • Train and test the model.
  • Tune the hyper params and repeat training and testing.
  • Wrap it with a web app or mobile and app
  • Don't forget to open source or publish your project.

Next steps

AI/ML is growing fastly day by day. Focusing on a particular area of AI after learning and doing the foundational elements would be nice!

๐Ÿ’ก Following are some of the interesting areas in AI

On device AI/ML

Instead of sending inputs from client like images, speech..etc to the ML model in server, on device AI/ML helps to do the inference in client side with the help of AI chips (like bionic chip in iPhone) and libraries like,

Privacy preserved AI/ML

Techniques like federated learning helps to train models on device and share the model to the servers(and other clients) instead of sending data to the servers and training there. Means your data is private and safe!

Computer Vision and NLP

Two major fields in AI/ML. Learn both or specialise in one :information_desk_person:

Robotics and edge computing

Deep reinforcement learning techniques and various other AI/ML algorithms are used in applications like robotics, automation and IoT.

Thank you. Happy Learning !