Machine Learning for Monkeys 🐵
The simple approach to the underlying theory behind machine learning even monkeys should understand.

What are the contents of this series?
Part 0x00 — The Intro before the Intro
- What is the objective of this series?
- What is Machine learning ?
- Why did I choose to write this series?
- How can you make the best of this series?
Part 0x01 — Introduction:
- What is learning?
- When do we need machine learning?
- What types of learning methods exist?
- How does machine learning relate to other fields?
Part 0x02 — Foundations of Machine Learning:
- The Statistical Learning Model
- Empirical Risk Minimization
- PAC Learning
- Learning via Uniform Convergence
- The Bias-Complexity Trade-off
- The VC Dimension
- Non-Uniform learn-ability
- The Runtime of learning
Part 0x03 — From Theory to Algorithms
- Linear Predictors
- Boosting
- Model Selection and Validation
- Convex Learning Problems
- Regularization and Stability
- Stochastic Gradient Descent
- Support Vector Machines
- Kernel Methods
- Multi-class, Ranking and other complex prediction problems
- Decision Trees
- Nearest Neighbor
- Neural Networks
Part 0x04 — Learning Models
- Online Learning
- Clustering
- Dimensionality Reduction
- Generative Models
- Feature Selection and Generation
Part 0x05 — Advanced Theory for Transcendent Monkeys
- Rademacher Complexities
- Covering Numbers
- Proof of the Fundamental Theory of Learning (The one monkeys understand)
- Multi-class learnability
- Compression bounds
- PAC Bayes
What is the objective of this series?
The objective of this series is to explain in the simplest way the fundamental theory behind machine learning, so that you can deeply understand the field. We will answer questions like what is learning? How can a machine learn? Is learning always possible? Can we know if the learning process failed or succeeded? We will get know the fundamental algorithms used in machine learning and discuss how much computation time is required and how much data is needed for the computer to learn. Machine learning is “eating the world” and the more deeply we can understand it’s foundations, the more we can contribute to it’s development and evolution.
What is Machine learning ?
Machine learning is the application of Artificial Intelligence, the objective of machine learning is to allow the computer to learn from experience. It also refers to the automated detection of meaningful patterns in data. These meaningful patterns are what allow these systems to learn. It has become a widely used tool and is touching many parts of our daily lives. It is used by companies like Google to create algorithms that learn to bring us the best results on our searches, YouTube watches our every move and learns overtime to recommend us videos based on what we have already watched, the Google Assistant learns your name, your voice and understands what you say in order to do things like play music you want, stream movies via services like Netflix and control household appliances. Financial systems learn to detect possible fraudulent transactions and suspicious activities. Hotmail and Gmail both learn how to detect spam emails. Machine Learning is also widely used in bioinformatics, medicine, astronomy and even physics!

One reason that machine learning is used in these applications is because these systems (face detection, voice recognition systems etc) are incredibly difficult to program. A human programmer cannot provide an explicit, well-defined, step by step solution to solve these kinds of problems. Humans share a common attribute, we can all learn from our experiences. So it makes sense to use the same model that we use to learn to allow computers to do the same and that is in essence what machine learning is all about.
This series will be on the mathematical intuition and theory behind the fundamental algorithms in machine learning and how to code them. This will allow you to deeply understand these systems so that you can make better decisions when working with other machine learning libraries. Understanding the foundations of these systems will allow you to understand the weaknesses of each algorithm, when to use one over the other, how to optimize it for the problem you are solving and how to improve these systems.
Why did I choose to write this series?
The idea of writing this series was to push myself to understand machine learning deeply and be able to explain it in a way monkeys could understand. The first part (0x001) of this series will be posted soon and your feedback will help me learn to write in a way that is understandable even for monkeys.
How can you make the best of these series?
Use a study technique that you find useful. I recommend the Feynman technique, it’s a study technique that helps you learn new concepts, deeply understanding it as well as retaining the information learnt. I also recommend reading the book “A Mind for Numbers” by Barbara Oakley which has some brilliant life changing insights on how our brains learn and problem solve and how to effectively study!
If you enjoyed ❤❤️️ reading this make sure to follow and 👏 as well! Share it with friends, family, oh and every monkey you know! Cheers!!😄 🐵
