How to Learn Machine Learning or Deep Learning

Machine Learning is one of the fastest-growing fields in terms of job creation. Machine Learning comprises classical machine learning and deep learning. This field is also referred to as Artificial Intelligence (AI).

Machine Learning enables us to derive insight from data and build predictive models. Social media platforms use deep learning to serve content in your newsfeeds and recommend posts to watch. OTT platforms such as Netflix, Amazon Prime Video, Hotstar, Hulu, etc heavily leverages machine learning and deep learning to recommend content to users.

With the digitization and availability of low-cost internet, companies are producing terabytes of data every day and those data need to be analyzed to make business decisions or run their primary data-related businesses.

Here in this discussion, we will go through how to learn Machine Learning and become an expert.

Basics skills required to learn Machine Learning

Machine Learning is a heavily math-driven area, Building and implementing machine learning and deep learning algorithms requires a good understanding of maths.

One should have a good understanding of the following topics:

  • Linear Algebra

  • Probability

  • Optimization

  • Calculus

Linear Algebra

For processing or analyzing by computer, data are represented as a dense or sparse matrix. Major topics to understand in linear algebra are

  • Mathematical operations with matrices (addition, multiplication)

  • Matrix inverses and determinants

  • Solving systems of equations with matrices

  • Euclidean vector spaces

  • Eigenvalues and eigenvectors

  • Orthogonal matrices and orthogonal bases

  • Positive definite matrices

  • Linear transformations

  • Projections

  • Linear dependence and independence

  • Singular value decomposition

  • Gram-Schmidt process

  • Diagonalization of a matrix

Online course to learn linear algebra:

Probability

Probability is the foundation of any predictive modeling.

Some major topics are:

  • Conditional probability and Bayes theorem

  • Expectation and Expectation-Maximization Algorithm

  • Random variables

  • Discrete and Continuous Distributions and sampling

  • Stochastic convergence, the law of large numbers

  • Weak convergence, the CLT, Poisson process

Online course to learn Probability:

Optimization

Machine Learning problems such as classification, regression, segmentation, etc. all are optimization problems.

Understanding optimization theory will help you be an expert in Machine Learning.

Major topics in optimization are

  • Lagrangian and duality theory

  • Duality properties and applications for convex, nonconvex, and MDP

  • Block coordinate method and stochastic gradient

  • Convex Optimization

  • Non-convex quadratic optimization

Online course to learn Optimization:

Calculus

Calculus is also a foundation of deep learning and optimization. Major topics in calculus are

  • Concepts of Function, Limits, and Continuity

  • Differentiation

Online course to learn Calculus:

Learning Machine Learning

The foundational theory of Machine Learning can be categorized into two sub-parts:

  • Classical machine learning

  • Deep Learning

To learn any machine learning or deep learning topic, you should follow the below steps:

  • Read the theory of the topic

  • Watch lecture videos

  • Implement using Python or Java

Implemention will help you understand any algorithm in depth.

Classical Machine Learning

Machine learning algorithms not developed using Neural networks or Deep neural networks are termed classical machine learning algorithms.

Usually, these algorithms don’t need too much data to learn.

Some classical machine learnings algorithms are:

  • SVM

  • Random Forest

  • Linear Regression

  • Logistic Regression

  • Principal Component Analysis

  • Decision tree

  • K-NN

  • K-Means

  • XGboost

  • Naive Bayes

One of the BEST Lecture series to learn classical machine learning is taught by Yaser S. Abu-Mostafa, Caltech.

You can watch his lecture videos either on EdX or Youtube

Best reading resources:

Deep Learning

Deep learning algorithms are compute and data-heavy. For training deep learning models more data is better, and thousands of samples are required when training from scratch.

Any algorithm that uses a neural network (fully connected or convolutional) can be classified as a deep learning algorithm. Deep learning algorithms are optimized using backpropagation.

Some popular deep learning-based algorithms for image based applications are:

  • AlexNet (first deep network to revolutionize deep learning) [Classification]

  • Resnet [Classification]

  • EfficientNet [Classification]

  • Faster RCNN, Mask RCNN [Detection, Segmentation]

  • RetinaNet [Detection]

  • Yolo [Detection]

  • Deeplab [Segmentation]

Some popular deep learning-based algorithms for text applications are:

  • Transformer [Classifcation, Q/A, Pretraining]

  • BERT [Classification, Q/A, Translation etc]

  • GPT [Classification, Q/A, Translation etc]

  • FLAN [Classiciation, Q/A, Translation etc]

Best reading resources to learn Deep learning:

Best Courses to learn Deep learning:

Deep Learning frameworks

We recommend Tensorflow for deep learning engineers. Tensorflow is a mature and stable framework developed and maintained by Google. Tensorflow is also production-ready and scalable. Tensorflow supports for edge devices are inbuilt.

Tensorflow provides lots of learning resources to get started. Here are some useful TensorFlow tutorials