Math Foundation


Recently, there have been many revolutionary advances made in the field of Ai. Be it from the breakthrough made in Reinforcement Learning by the introduction of AlphaGo by Google’s DeepMind or by the advances made in the field of Computer Vision with the inception of various Deep Learning applications like self-driving cars, face detection (Apple’s FaceID), language translation (Google’s Google Translate). Such breakthroughs have been the catalyst for many AI aspirants to provide a significant contribution to this ever-growing field. But then you come across mathematical notations which just does not make any sense to you. You probably understand all the theory that leads upto the mathematical proofs or expressions, but the rest seems to be just gibberish.

If you surf the internet looking for an answer to the question “Is math necessary for understanding AI/ML”, you will come across 2 major opinions provided by people. First, some people believe that deep understanding of math is not required nowadays as most of the popular Machine Learning and Deep Learning libraries like scikit learn, PyTorch, TensorFlow, Keras etc. have already been made, and you just need to call various functions to create a Machine Learning model or create a Neural Network architecture. Second, math is a MUST to understand the underlying working of machine learning and various AI algorithms.

According to us, the conflict between these two opinions can be settled by deciding what you want to do in Machine Learning. If you are planning to get into research, to create machine learning algorithms from scratch, tweak existing algorithms or combine them to create a new algorithm, then you definitely need a thorough understanding of various mathematical concepts. On the other hand, if you are mostly interested in experimenting and exploring by building applications using standard Machine Learning algorithms or by using well established frameworks, then you wouldn’t need that much math, just the basics would do you good. There is no malice in choosing either approaches. Both set of people are needed for advancement in this field.

If you really want to understand the underlying mechanism and working of Machine Learning algorithms, then you would need a good grasp on the following math concepts and topics:

  1. Linear Algebra (Recommended): In ML, Linear Algebra comes up everywhere. Topics such as Principal Component Analysis (PCA), Singular Value Decomposition (SVD), Eigen decomposition of a matrix, LU Decomposition, QR Decomposition/Factorization, Symmetric Matrices, Orthogonalization & Orthonormalization, Matrix Operations, Projections, Eigenvalues & Eigenvectors, Vector Spaces and Norms are needed for understanding the optimization methods used for machine learning.

  2. Probability Theory and Statistics (Recommended): Machine Learning and Statistics aren’t very different fields. Some of the fundamental Statistical and Probability Theory needed for ML are Combinatorics, Probability Rules & Axioms, Bayes’ Theorem, Random Variables, Variance and Expectation, Conditional and Joint Distributions, Standard Distributions (Bernoulli, Binomial, Multinomial, Uniform and Gaussian), Moment Generating Functions, Maximum Likelihood Estimation (MLE), Prior and Posterior, Maximum a Posteriori Estimation (MAP) and Sampling Methods.

  3. Multivariate Calculus (Recommended): Some of the necessary topics include Differential and Integral Calculus, Partial Derivatives, Vector-Values Functions, Directional Gradient, Hessian, Jacobian, Laplacian and Lagragian Distribution.

  4. Algorithms and Complex Optimizations (Optional): This is important for understanding the computational efficiency and scalability of our Machine Learning Algorithm and for exploiting sparsity in our datasets. Knowledge of data structures (Binary Trees, Hashing, Heap, Stack etc), Dynamic Programming, Randomized & Sublinear Algorithm, Graphs, Gradient/Stochastic Descents and Primal-Dual methods are needed.

  5. Others (Optional): This comprises of other Math topics not covered in the four major areas described above. They include Real and Complex Analysis (Sets and Sequences, Topology, Metric Spaces, Single-Valued and Continuous Functions, Limits), Information Theory (Entropy, Information Gain), Function Spaces and Manifolds.

The various resources that can be used are:

Texts:

  1. Matrix Computations: This is book covers topics on matrix analysis, linear systems, eigenvalues, Singular Value Decomposition etc.

  2. Advanced Engineering Mathematics: This book provides concepts on Fourier analysis, linear algebra, differential and partial differential equations.

  3. Pattern Recognition and Machine Learning: This is the best book for Machine Learning algorithms. This book can be overwhelming at first, but in the long run it will be very advantageous.

  4. Probability and Statistics Cookbook: This is a collection of various math and statistics formulae and notations. This is beneficial for people who need a quick refresher on various math concepts.

  5. Deep Learning: This book is written by the three most renowned AI experts, Ian Goodfellow, Yoshua Bengio, and Aaron Courville. This is the best book out there for Deep Learning concepts and algorithms.

  6. This link is an amalgamation of various Math and Statistics Textbooks which are essential for Machine Learning algorithms.

  7. GeeksforGeeks is a very famous website which has description and codes for various algorithms and data structures. You can also strengthen your coding skills by using their platform.

Videos/MOOC:

  1. Khan Academy - Statistics and Probability
  2. Udacity - Statistics 101
  3. Khan Academy - Linear Algebra
  4. Khan Academy - Calculus

We hope this post was helpful. Feel free to comment in case of doubts and do let us know your feedback. Stay tuned for more!