ML Algorithm Landscape Overview

Machine learning encompasses a vast ecosystem of algorithms, each designed for specific types of problems. This overview maps out the full landscape, helps you understand how to read each algorithm entry in this directory, and provides a guide for selecting the right algorithm for your task.

The 10 Algorithm Categories

We organize 100+ algorithms into 10 major categories based on their learning paradigm, problem type, and output:

#CategoryCountLearning TypeDescription
1Regression15SupervisedPredict continuous numeric values
2Classification17SupervisedPredict discrete class labels
3Clustering11UnsupervisedGroup similar data points
4Dimensionality Reduction10UnsupervisedReduce feature space while preserving information
5Ensemble Methods7SupervisedCombine multiple models for better performance
6Reinforcement Learning14RLLearn optimal actions through environment interaction
7Neural Networks & Deep Learning14Supervised / UnsupervisedLayered architectures for complex pattern recognition
8Time Series5SupervisedForecast future values from sequential data
9Recommendation4VariesSuggest items based on user behavior
10Other Algorithms10+VariesAnomaly detection, association rules, probabilistic models

How to Read Each Algorithm Entry

Every algorithm in this directory follows a consistent format to make comparison easy:

Algorithm Name

  • Description: A concise explanation of what the algorithm does and the core idea behind it.
  • Type: The learning paradigm (supervised, unsupervised, semi-supervised, reinforcement).
  • Use Cases: Real-world scenarios where this algorithm excels.
  • Key Parameters: The most important hyperparameters you need to tune.
  • Pros: Strengths and advantages of the algorithm.
  • Cons: Limitations and weaknesses.
  • Python Code: A working code snippet using popular libraries (scikit-learn, TensorFlow, PyTorch).
  • Complexity: Time complexity (training and inference) and space complexity.

Algorithm Selection Guide

Choosing the right algorithm depends on your data, your problem, and your constraints. Use this decision framework:

Step 1: Define Your Problem Type

QuestionIf YesGo To
Do you have labeled data with a continuous target?RegressionRegression
Do you have labeled data with a categorical target?ClassificationClassification
Do you need to find groups in unlabeled data?ClusteringClustering
Do you have too many features?Dimensionality ReductionDimensionality Reduction
Do you need to maximize cumulative reward?Reinforcement LearningReinforcement Learning
Is your data sequential or temporal?Time Series / RNNTime Series
Do you need image/text/audio processing?Deep LearningNeural Networks

Step 2: Consider Your Constraints

ConstraintFavorAvoid
Small dataset (<1000 samples)Linear models, Naive Bayes, KNN, SVMDeep learning, ensemble methods
Large dataset (>1M samples)SGD-based models, LightGBM, deep learningKNN, SVM with RBF kernel
High dimensionalityLasso, Ridge, PCA, tree-based modelsKNN, plain linear regression
Interpretability requiredLinear/logistic regression, decision treesNeural networks, ensemble methods
Real-time inferenceLinear models, small trees, KNN with KD-treeLarge ensembles, deep networks
Missing values commonXGBoost, LightGBM, CatBoostSVM, KNN, linear models
Categorical featuresCatBoost, decision trees, Naive BayesSVM, KNN (without encoding)

Step 3: Start Simple, Then Iterate

  1. Baseline: Start with the simplest algorithm for your problem type (linear regression, logistic regression, K-Means).
  2. Evaluate: Measure performance with appropriate metrics (RMSE, accuracy, F1, silhouette score).
  3. Improve: Try more complex algorithms (ensemble methods, neural networks).
  4. Tune: Optimize hyperparameters with cross-validation.
  5. Compare: Use this directory to find alternatives in the same category.

Complexity Comparison

Below is a high-level comparison of training and prediction complexity for popular algorithms. Here n = number of samples, p = number of features, k = number of clusters/neighbors, T = number of trees.

AlgorithmTraining TimePrediction TimeSpace
Linear RegressionO(np2)O(p)O(p)
Logistic RegressionO(np)O(p)O(p)
KNNO(1)O(np)O(np)
SVM (RBF kernel)O(n2p) to O(n3)O(nsvp)O(nsvp)
Decision TreeO(np log n)O(log n)O(nodes)
Random ForestO(T · np log n)O(T · log n)O(T · nodes)
Gradient BoostingO(T · np)O(T · log n)O(T · nodes)
K-MeansO(nkp · iterations)O(kp)O(kp)
DBSCANO(n log n) with indexN/AO(n)
PCAO(np2)O(np)O(p2)
Naive BayesO(np)O(p)O(p · classes)
Neural Network (MLP)O(epochs · n · layers · neurons2)O(layers · neurons2)O(weights)

History of ML Algorithms Timeline

Machine learning has evolved over nearly a century. Here are the key milestones:

YearAlgorithm / MilestoneCreator(s)
1805Least Squares RegressionLegendre, Gauss
1936Linear Discriminant Analysis (LDA)R.A. Fisher
1943McCulloch-Pitts Neuron (first neural model)McCulloch, Pitts
1957PerceptronFrank Rosenblatt
1958Logistic Regression (popularized)David Cox
1963Support Vector Machine (linear)Vapnik, Lerner
1965K-Nearest Neighbors formalizedCover, Hart
1967K-Means ClusteringMacQueen
1970ARIMA (Box-Jenkins method)Box, Jenkins
1980Self-Organizing MapsTeuvo Kohonen
1984Classification and Regression Trees (CART)Breiman et al.
1986Backpropagation popularizedRumelhart, Hinton, Williams
1989Convolutional Neural Networks (CNN)Yann LeCun
1992Support Vector Machine (kernel trick)Boser, Guyon, Vapnik
1993Apriori AlgorithmAgrawal, Srikant
1995Random ForestTin Kam Ho, later Leo Breiman (2001)
1996DBSCANEster, Kriegel, Sander, Xu
1997Long Short-Term Memory (LSTM)Hochreiter, Schmidhuber
1997AdaBoostFreund, Schapire
1999Gradient Boosting MachineJerome Friedman
2001Random Forest (final form)Leo Breiman
2006Deep Learning breakthrough (deep belief nets)Geoffrey Hinton
2008t-SNEvan der Maaten, Hinton
2012AlexNet (CNN revolution)Krizhevsky, Sutskever, Hinton
2013Variational Autoencoders (VAE)Kingma, Welling
2014Generative Adversarial Networks (GAN)Ian Goodfellow et al.
2014GRU (Gated Recurrent Unit)Cho et al.
2015ResNet (152 layers deep)He et al.
2016XGBoost gains popularityTianqi Chen
2017Transformer architectureVaswani et al. (Google)
2017LightGBMMicrosoft Research
2017Proximal Policy Optimization (PPO)Schulman et al. (OpenAI)
2018UMAPMcInnes, Healy, Melville
2018CatBoostYandex
2018BERT (Transformer for NLP)Google
2020Vision Transformer (ViT)Google Research
2020GPT-3OpenAI
2022–2025Foundation models, LLMs, multimodal AIVarious

Notation Used in This Directory

SymbolMeaning
nNumber of training samples
p or dNumber of features (dimensions)
kNumber of clusters, neighbors, or classes
TNumber of trees (in ensemble methods)
αLearning rate
λRegularization parameter
γDiscount factor (RL) or kernel coefficient (SVM)